home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir37 / shl.zip / FOXPRO.ZIP / SHL.MAN < prev    next >
Text File  |  1994-06-14  |  116KB  |  3,697 lines

  1.  
  2.  
  3.  
  4.  
  5.                                        Preface
  6.  
  7.  
  8.       The Shell System is an application that will allow the user to launch
  9.       selected and password protected Foxpro applications.  Shell itself is
  10.       written in the dBASE IV compatible language called Foxpro.
  11.  
  12.       Among the Shell System features is the ability to run in a Multi-user
  13.       environment.  The Shell System will maintain passwords based on the
  14.       application or based on the user.  Another benefit of the Shell
  15.       System is the need to load Foxpro only once.
  16.  
  17.       An IBM personal computer (80386 or better) is recommended.  For
  18.       improved performance, it is highly recommended that the user obtain
  19.       at least three megabytes of extended memory.  A color monitor and a
  20.       mouse are also recommended.
  21.  
  22.       Considerable effort was expended to make the user reference manual as
  23.       complete as possible.  However, this documentation is in no way to be
  24.       considered an instructive guide to MS-DOS or Foxpro.  Many reference
  25.       texts are available on the market that explain the MS-DOS operating
  26.       system and Foxpro programming.  If you need more information, your
  27.       reference materials should include one of these texts.
  28.  
  29.       My advice is to read the contents of this user manual.  Familiarize
  30.       yourself with its information.  If you have any questions concerning
  31.       this application, feel free to write or call.
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                      - Page 1 -
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.                              Copyright/License/Warranty
  72.  
  73.  
  74.  
  75.  
  76.       This document and the program Shell ("the software") are  copyrighted
  77.       by the author.  The copyright owner hereby licenses you to use the
  78.       software given these restrictions:
  79.  
  80.  
  81.            o  the program shall be supplied in its original, unmodified
  82.               form, which includes this documentation;
  83.  
  84.            o  for-profit use without a license is prohibited;
  85.  
  86.            o  the program may not be included - or bundled - with other
  87.               goods or services.  Exceptions may be granted upon written
  88.               request only.
  89.  
  90.            o  no fee is charged beyond a reasonable amount for the media
  91.               and handling ($10 maximum suggested);
  92.  
  93.  
  94.            There is no warranty of any kind.  The copyright owner may not
  95.            be held liable for any damages, including any lost profits or
  96.            other incidental or consequential damages arising out of or
  97.            inability to use the software.  By using the software, you agree
  98.            to this.
  99.  
  100.  
  101.       Shareware
  102.  
  103.            Shell is distributed as Shareware.  It is not free software.
  104.            You are free to try it and make copies for others.  If you
  105.            continue to use this application beyond a reasonable trial
  106.            period, you are required to register it with the distributor
  107.            and author.
  108.  
  109.  
  110.       ASP Ombudsman
  111.  
  112.            This program is produced by a member of the Association of
  113.            Shareware Professionals (ASP).  ASP wants to make sure that the
  114.            shareware principle works for you.  If you are unable to resolve
  115.            a shareware-related problem with an ASP member by contacting the
  116.            member directly, ASP may be able to help.  The ASP Ombudsman can
  117.            help you resolve a dispute or problem with an ASP member, but
  118.            does not provide technical support for members' products.
  119.  
  120.            Please write to the ASP Ombudsman at 545 Grover Road, Muskegon,
  121.            MI 49442-9427 USA, FAX 616-788-2765 or send a CompuServe message
  122.            via CompuServe Mail to ASP Ombudsman 70007,3536.
  123.  
  124.  
  125.  
  126.            Copyright (C) 1993 Dennis Allen.  All rights reserved.  All
  127.            trademarks mentioned herein belong to their respective owners.
  128.  
  129.                                      - Page 2 -
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.                                   TABLE OF CONTENTS
  138.  
  139.  
  140.       Preface                                                    1
  141.       Copyright/License/Warranty                                 2
  142.       Introduction                                               5
  143.           Manual Content                                         5
  144.           Notation Convention                                    6
  145.       Invoking Shell                                             7
  146.           Protected Mode                                         7
  147.       Creating Sample Records                                    9
  148.           Creating a Shell Record                               13
  149.           Creating a User Password Record                       14
  150.           Quit                                                  15
  151.       Printing Foxpro Shell                                     16
  152.           Printing Shell Records                                16
  153.           Quit                                                  17
  154.       System Setup                                              18
  155.           Expression Builder                                    18
  156.           Printer Control Codes                                 19
  157.           Change Color Set                                      22
  158.               Customizing Color Sets                            22
  159.           Problems & Suggestions                                22
  160.           All About...                                          23
  161.           Display/Print Manual                                  24
  162.           Quit                                                  24
  163.       Utilities                                                 25
  164.           Rebuilding Indices                                    25
  165.           Initializing Databases                                26
  166.       Quit to DOS                                               27
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                      - Page 3 -
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.                                   TABLE OF CONTENTS
  204.  
  205.  
  206.       Appendices                                                28
  207.           Appendix A/ Generic Editor                            28
  208.           Appendix A-1/ System Menu                             35
  209.               Sysmenu edit                                      35
  210.               Foxpro Calculator                                 35
  211.               Foxpro Calendar                                   35
  212.               Foxpro DOS Shell                                  36
  213.               Printer Eject                                     36
  214.               Video Mode                                        36
  215.               Print Mode                                        36
  216.           Appendix B/ Data Files                                37
  217.               Backup/Restore Data files                         38
  218.           Appendix C/ Error Handling                            39
  219.               Disk Space                                        39
  220.               Printer not Ready                                 39
  221.               Multi-User Errors                                 40
  222.               Syntax Error                                      40
  223.           Appendix D/ Configuring Application                   41
  224.               Foxpro Runtime Unit                               41
  225.                   FOXR.EXE                                      41
  226.                   FOXRW.EXE                                     42
  227.               CONFIG.FP                                         42
  228.                   EMS                                           43
  229.                   MEMLIMIT                                      43
  230.                   PROGWORK                                      43
  231.                   RESOURCE                                      44
  232.                   TIME                                          44
  233.               FOXPRO.INI                                        45
  234.                   DATA                                          45
  235.                   FONTNAME                                      46
  236.                   FONTSIZE                                      46
  237.                   FONTSTYLE                                     46
  238.                   INIT                                          47
  239.                   LAST                                          47
  240.                   MULT                                          47
  241.                   PROG                                          48
  242.                   RECALL                                        48
  243.                   SYSMENU                                       48
  244.                   TEMP                                          49
  245.                   TERM                                          49
  246.               FOXUSER.DBF                                       50
  247.               FOXUSER2.DBF                                      50
  248.               Printer Codes                                     51
  249.               Record Filters                                    51
  250.               Configuring Sideways                              51
  251.       Glossary                                                  52
  252.       Index                                                     55
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                      - Page 4 -
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.                                     Introduction
  270.  
  271.  
  272.       The Shell System is an application that will allow the user to launch
  273.       selected and password protected Foxpro applications.  Shell itself is
  274.       written in the dBASE IV compatible language called Foxpro.
  275.  
  276.       Before continuing, we should explain a couple of terms.  We will
  277.       refer to our Foxpro Shell System simply as "Shell".
  278.  
  279.       When we refer to an "editor", it is a program module that allows us
  280.       to add, delete, or change database records. The word "edit" means to
  281.       update, maintain, or change a database record.
  282.  
  283.       When we refer to a "window", it is a section of the screen that is
  284.       receiving output.  Windows may overlap each other on the screen.
  285.       They are characterized by a double line border and usually have some
  286.       sort of title.
  287.  
  288.       A "record filter" determines the access allowed to a database.  Only
  289.       those records, defined by a record filter, may be viewed, edited, or
  290.       printed.  Record filters are created/selected using an "expression
  291.       builder".
  292.  
  293.       Finally, when we say "DOS", we refer to the disk operating system.
  294.       It's usually MS-DOS, but could be Microsoft windows, UNIX, or even
  295.       the Macintosh OS.
  296.  
  297.       The following sections of this manual will describe all available
  298.       menu options, one at a time.  Each menu option will be illustrated.
  299.       Appendices are included to describe all the files in the Shell
  300.       system, the generic operations of editors, error handling, optimizing
  301.       Shell, and establishing a backup procedure.
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                      - Page 5 -
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.                                     Introduction
  336.  
  337.  
  338.                               Notation Conventions
  339.  
  340.  
  341.       CAPITAL LETTERS
  342.  
  343.            Capital letters indicates a command.  During command entry, this
  344.            text should be entered exactly as it appears.  Unless specified,
  345.            any command may be in upper or lower-case letters.
  346.  
  347.       lower case
  348.  
  349.            Parameters to commands are usually typed in lower-case
  350.            characters.
  351.  
  352.       Ellipsis "..."
  353.  
  354.            The ellipsis represent repetition of a previous item.
  355.  
  356.       Single Key "[ ]"
  357.  
  358.            The single key command is represented by the characters "[" and
  359.            "]".
  360.  
  361.       Control keys
  362.  
  363.            Control keys are designated with a "[Ctrl]-" followed by the
  364.            name of another key (for example: [Ctrl]-[S]).  To enter a
  365.            control key, press [Ctrl] on your keyboard and, while holding it
  366.            down, press the additional key.  On some Foxpro menus, control
  367.            keys are designated with a "^" followed by the name of another
  368.            key (for example: ^[End] for [Ctrl]-[End]).
  369.  
  370.       Carriage Return
  371.  
  372.            Depending on your keyboard, the same key may be represented by
  373.            different descriptions.  For example, the carriage return may be
  374.            represented as [Enter], [Return], or [Bent arrow symbol].  For
  375.            the most part, this should not be a problem.  Make sure,
  376.            however, that you understand the function of each key so that
  377.            you understand how they appear in this manual.
  378.  
  379.       Alternate key
  380.  
  381.            On an IBM PC keyboard, alternate keys are designated with a
  382.            "[Alt]-" followed by the name of another key (for example:
  383.            [Alt]-[V]).  To enter a control key, press [Alt] on your
  384.            keyboard and, while holding it down, press the additional key.
  385.  
  386.            On a Macintosh keyboard, [Alt] is produced by holding down both
  387.            the [Ctrl] key and the [Option] key.  To produce [Alt]-[V], for
  388.            example, you must press [Ctrl], [Option], and [V] at the same
  389.            time.
  390.  
  391.  
  392.  
  393.                                      - Page 6 -
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.                                 Invoking Shell System
  402.  
  403.  
  404.       The purpose of this section is to help you get started using Shell.
  405.       Your computer should be running and you should be at the DOS prompt.
  406.  
  407.       You should have already installed the Shell application and the
  408.       Foxpro runtime unit.  You should also have a functional backup
  409.       procedure (See Appendix B).  To invoke Shell, at the DOS prompt,
  410.       type:
  411.  
  412.            SHL
  413.  
  414.       and press [Enter].
  415.  
  416.                                  Protected Mode
  417.  
  418.       Normally, you would begin in the protected mode.  In the protected
  419.       mode, you are given a list of Foxpro applications.  You would select
  420.       an application and press [Enter].  If the application has been given
  421.       a password, you would be prompted for a password.  Until you enter
  422.       the correct password, you will not be able to invoke the selected
  423.       application.
  424.  
  425.       However, since you just installed Shell, you will enter the Shell
  426.       main menu.  You should see is the following screen:
  427.  
  428.  
  429.       +--------------------------------------------------------------------+
  430.                               Foxpro Shell, Version 01.00.00
  431.                        (c) 1993 Dennis Allen, All rights reserved
  432.       |                                                                    |
  433.        -----------------------  M A I N    M E N U -----------------------
  434.       |                                                                    |
  435.                            E - Edit  Shell List
  436.       |                                                                    |
  437.                            P - Print Shell List
  438.       |                                                                    |
  439.                            R - Return to Protected Mode
  440.       |                                                                    |
  441.                            S - System Setup
  442.       |                                                                    |
  443.                            U - Utilities
  444.       |                                                                    |
  445.                            M - Change Status (Single-User)
  446.       |                                                                    |
  447.                            Q - Quit this program
  448.       |                                                                    |
  449.       |--------------------------------------------------------------------|
  450.                                 Make a selection:
  451.       +--------------------------------------------------------------------+
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                      - Page 7 -
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.                                 Invoking Shell System
  468.  
  469.  
  470.       This is our initial screen.  Option 'E' allows you to create and
  471.       maintain all Foxpro shell records.  Option 'P' will print Foxpro
  472.       shell reports.  Option 'R' returns you to the protected mode.  Option
  473.       'S' allows you to change printer codes.  Option 'U' contain
  474.       miscellaneous options that allow you to maintain Shell.  Option 'Q'
  475.       will return you to the DOS prompt.
  476.  
  477.       By default, Shell runs in a single-user mode.  Option 'M' is
  478.       available only in multi-user mode.  If you are running in a Multi-
  479.       user environment, you will need to configure Shell to run Multi-user
  480.       mode.  Please refer to Appendix D for more information.
  481.  
  482.       There are a couple of ways to select an option.  One way is to simply
  483.       press the highlighted key, (example: press [S] for system setup).
  484.       Another way is to press the up and down cursor keys to highlight the
  485.       desired option.  Then, by pressing [Enter], the highlighted option is
  486.       selected.
  487.  
  488.       Note:  If you have a mouse, you can move the mouse cursor to the
  489.       desired option.  Pressing the left mouse button will then select the
  490.       option.
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.                                      - Page 8 -
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.                                 Invoking Shell System
  534.  
  535.  
  536.  
  537.  
  538.                              Creating Sample Records
  539.  
  540.  
  541.       First, we need to create sample data.  At the main menu, press [E].
  542.       You should see the following screen:
  543.  
  544.  
  545.       +--------------------------------------------------------------------+
  546.                           Foxpro Shell, Version 01.00.00
  547.                     (c) 1993 Dennis Allen, All rights reserved
  548.       |                                                                    |
  549.        ----------------------  E D I T    M E N U ------------------------
  550.       |                                                                    |
  551.                           1 - Create/Edit Shell List
  552.                           2 - Create/Edit User  List
  553.       |                                                                    |
  554.                           Q - Return to main menu
  555.       |                                                                    |
  556.       |--------------------------------------------------------------------|
  557.                                    Your selection:
  558.       +--------------------------------------------------------------------+
  559.  
  560.  
  561.       This is the edit menu.  Here, all components of the Foxpro shell
  562.       system can be maintained.  Option '1' will allow you to maintain
  563.       application records.  Option '2' will allow you to maintain user
  564.       passwords.  Option 'Q' will return you to the main menu.
  565.  
  566.       Before continuing, notice that the edit window is slightly smaller
  567.       than the main menu window.  This is a built-in feature.  This feature
  568.       allows the user to see how far he/she is into the program.  It is
  569.       intended to give the user a sense of depth.
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.                                      - Page 9 -
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.                            Creating a Foxpro Shell Record
  600.  
  601.  
  602.       Defining Foxpro application records is simple.  At the edit menu,
  603.       press [1].  The following screen will appear:
  604.  
  605.  
  606.       +--------------------------------------------------------------------+
  607.                             Foxpro Shell, Version 01.00.00
  608.                         (c) 1993 Dennis Allen, All rights reserved
  609.       |                                                                    |
  610.        --------------------------- Foxpro Shell --------------------------
  611.       |                                                                    |
  612.            Description:
  613.       |                                                                    |
  614.            File Path:
  615.       |                                                                    |
  616.            File Name:
  617.       |                                                                    |
  618.       |--------------------------------------------------------------------|
  619.               Edit User Passwords
  620.                                           Toggle Order (Ascending)
  621.               Add    Browse Delete Find   Goto   Help  Update   Quit
  622.       +--------------------------------------------------------------------+
  623.  
  624.  
  625.       This screen is typical of a generic editor used with Foxpro.  At the
  626.       bottom of the screen are all the one-character options available to
  627.       the user.
  628.  
  629.       Like the main menu, there are three ways of selecting a function.  By
  630.       direct keystroke, by the cursor keys and [Enter], or by the mouse.
  631.       Before continuing, we will briefly describe each function.
  632.  
  633.                                   Add Function
  634.  
  635.       Pressing [A] will allow you to add a record to the current database.
  636.       The cursor will be positioned on the first field in the record.
  637.       Whether adding or updating a record, there only a few keystrokes you
  638.       need to know.
  639.  
  640.       You can move the cursor from field to field using the arrow keys.
  641.       For instance, the Right arrow, the Down arrow, and the Enter key,
  642.       moves the cursor forward one field at a time.  The up arrow moves the
  643.       cursor back one field.
  644.  
  645.       Note:  If you have a mouse, you also can move from field to field.
  646.       Simply move the mouse cursor to the desired field and press the left
  647.       mouse button.
  648.  
  649.       The [Home] key will move the cursor to the beginning of a field.  If
  650.       it is already there, [Home] will move the cursor to the first field
  651.       in the screen.  [End] will move the cursor to the end of the field.
  652.       If it is already there, [End] will move the cursor to the last field
  653.       in the screen.
  654.  
  655.  
  656.  
  657.                                      - Page 10 -
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.                            Creating a Foxpro Shell Record
  666.  
  667.  
  668.       If you need more information on any field, press [F1].  If there is
  669.       help information, a help window will be displayed.  The help window
  670.       will remain until you press either [Esc] or [F10].
  671.  
  672.       Note:  If you have a mouse, move the mouse cursor to the desired
  673.       field.  Press the right mouse button, once to move to the field, and
  674.       once for the help text.
  675.  
  676.       After you have entered your data, moving the cursor beyond the last
  677.       input field on the screen tells the editor to accept the record.  You
  678.       can either use the arrow keys to move the cursor, or press [F10].
  679.       [Esc] will abort any updating, returning the screen to its original
  680.       condition.
  681.  
  682.                                  Browse Function
  683.  
  684.       Pressing [B] will invoke the Foxpro browse function.  The browse
  685.       function will display as many database records as will fit on one
  686.       screen.  You use the arrow keys to move from record to record.
  687.       Pressing [F10] will return you to the edit screen.  The browse
  688.       function is explained in more detail in Appendix A.
  689.  
  690.                                  Delete Function
  691.  
  692.       Pressing [D] will allow you to delete the currently displayed record.
  693.       You will be prompted whether you are sure.  Pressing [Y] deletes the
  694.       record from the database.
  695.  
  696.                                Edit User Password
  697.  
  698.       Pressing [E] will allow you to add, delete, or update passwords to
  699.       the current application.  See "Edit User Records" later in this
  700.       manual.
  701.  
  702.                                   Find Function
  703.  
  704.       Pressing [F] will invoke the find function.  This option is a quick
  705.       way of finding a desired record.  Since the current database is
  706.       indexed by description, this option will prompt you for the
  707.       description.  Type the desired description and press [Enter].  If
  708.       found, the desired record will be displayed.  You could then delete
  709.       it, or update it.
  710.  
  711.                                   Goto Function
  712.  
  713.       Pressing [G] will create a pop-up menu.  This popup menu allows the
  714.       user to display different records in the current database.  Press [F]
  715.       for the first record in the database.  Press [L] for the last record.
  716.       Press [N] for the next record.  Press [P] for the previous record.
  717.       The goto window remains active until you press [Esc] or [Q] to quit.
  718.       The goto function is explained in more detail in Appendix A.
  719.  
  720.  
  721.  
  722.  
  723.                                      - Page 11 -
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.                            Creating a Foxpro Shell Record
  732.  
  733.  
  734.                                   Help Function
  735.  
  736.       Pressing [H] will display a summary of commands used in the edit
  737.       menu.  Pressing any key after that returns you to the edit menu.
  738.  
  739.                               Toggle Index Function
  740.  
  741.       For a database with multiple indices, the toggle option will be
  742.       displayed.  The toggle option allows the user to change what index
  743.       will be used with the [F]ind option.  The current index is displayed
  744.       in parenthesis.
  745.  
  746.       For example, pressing [T] will change the current index.  Upon
  747.       pressing [F], the user will be prompted with the new index.  Pressing
  748.       [T], repeatedly, will eventually return you to the original index.
  749.  
  750.       Note:  The Foxpro Shell database has only one index.  Therefore, the
  751.       toggle option is not available.
  752.  
  753.                               Toggle Order Function
  754.  
  755.       This option toggles the order of the current index.  The current
  756.       order is displayed in parenthesis.
  757.  
  758.       For example, if the current order is ascending, pressing [O] will
  759.       toggle the order to descending.  If the current index is by
  760.       description, then 'ALPHA' will come after 'BETA'.  Pressing [O] again
  761.       will change the current index back to ascending.
  762.  
  763.                                  Update Function
  764.  
  765.       Pressing [U] allows you to update the currently displayed record.
  766.       Like the add function, pressing [F10] will complete the update.
  767.       Pressing [Esc] will abort the update.
  768.  
  769.                                   Quit Function
  770.  
  771.       Finally, pressing [Q] will return you the menu that invoked the
  772.       editor.  For more information on the capabilities of this type of
  773.       editor, see Appendix A.
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.                                      - Page 12 -
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.                            Creating a Foxpro Shell Record
  798.  
  799.  
  800.  
  801.                              Creating a Shell Record
  802.  
  803.  
  804.       Now that you have an idea how the editor works, you can define
  805.       application records.  An application record has a description, a file
  806.       path and a file name.  Each record needs a unique description.  The
  807.       file path is where the application directory is located.  The file
  808.       name is the starting procedure name (no file extension).
  809.  
  810.       Note:  For the startup procedure name, check you application startup
  811.       batch file.  The name is usually the lastcouple of characters of the
  812.       FOXR command line.
  813.  
  814.       To create a shell record, your application should already have been
  815.       installed.  Let's say, for example, that dMAIL4 was installed.  You
  816.       would press [A] to add a record.  You would type "dMAIL4" and press
  817.       [Enter] for the description.  You would type "C:\DMAIL4" and press
  818.       [Enter] for the file path.  Finally, you would type "MAL" and press
  819.       [Enter] for the startup procedure name.  You would be prompted for
  820.       another record.  Pressing [Esc] aborts the add function.
  821.  
  822.       For our purposes, however, we don't need to add a record.  The first
  823.       time you invoked Shell, an application record was created was created
  824.       for you.  This record is the Shell System itself.  So the next time
  825.       you invoke the Shell System, the protect mode will list "Foxpro
  826.       Shell" as an application.
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.                                      - Page 13 -
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.                            Creating a User Password Record
  864.  
  865.  
  866.       Now that you have an application, you can attach a password to it.
  867.       The "Foxpro Shell" record should be displayed.  At the shell editor,
  868.       press [E].  You should see the following screen:
  869.  
  870.  
  871.       +--------------------------------------------------------------------+
  872.                             Foxpro Shell, Version 01.00.00
  873.                         (c) 1993 Dennis Allen, All rights reserved
  874.       |                                                                    |
  875.        ------------------------ User ID Editor ---------------------------
  876.       |                                                                    |
  877.                      Description:
  878.       |                                                                    |
  879.                      User ID:
  880.       |                                                                    |
  881.                      Password:
  882.       |                                                                    |
  883.       |                                                                    |
  884.       |--------------------------------------------------------------------|
  885.                                          Toggle Order (Ascending)
  886.              Add    Browse Delete Find   Goto   Help  Update   Quit
  887.       +--------------------------------------------------------------------+
  888.  
  889.  
  890.       The edit functions are exactly the same as in the Foxpro shell
  891.       editor.  Press [A] to add.
  892.  
  893.       A user password record consists of the application description, a
  894.       user id, and a password.  Since this editor was invoked from the
  895.       shell editor, you will not be prompted for a description.
  896.  
  897.       The user ID field allows you to define passwords to individual users.
  898.       For example, a user id "MARK" could have a password "MASTER" to
  899.       invoke the Foxpro Shell System.  Another user, "JANE" could have a
  900.       password "JANE" allowing her to invoke the Foxpro Shell System.
  901.  
  902.       For our example, however, we will press [Enter] for a blank User ID.
  903.       Type "MASTER" and press [Enter] for the password.  You will be
  904.       prompted for another record.  Press [Esc] to abort the add function.
  905.  
  906.  
  907.       Note:  A blank user ID means that the protected mode will not prompt
  908.       for a user ID.  That is, anyone can type "MASTER" to invoke the Shell
  909.       application.
  910.  
  911.  
  912.       Since we do not to add any more passwords, press [Q] to return to the
  913.       shell editor.  Since we need not add any more applications, press [Q]
  914.       to return to the edit menu.
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.                                      - Page 14 -
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.                            Creating a User Password Record
  930.  
  931.  
  932.                                       Quit
  933.  
  934.  
  935.       Option [2] of the edit menu will invoke the user ID editor.  This is
  936.       the same editor as option [E] of the shell editor.  In this editor,
  937.       however, you have a user ID index as well as a description index.
  938.       You also need to specify an application description from a list of
  939.       descriptions.
  940.  
  941.       Experiment with the user ID editor, if you wish.  Later, you can
  942.       experiment with finding, deleting, and updating records.  For now,
  943.       simply press [Q] to return to the main menu.
  944.  
  945.       Before we quit, let's try out our new password.  At the main menu,
  946.       press [R] to return to protected mode.  In the protected mode, select
  947.       the application "Foxpro Shell" and press [Enter].  You should be
  948.       prompted for a password.  Type "MASTER" and press [Enter].  If you
  949.       did everything correctly, you should be back at the Shell main menu.
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.                                      - Page 15 -
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.                                  Print Foxpro Shell
  996.  
  997.  
  998.       In the first half of this manual we learned how to create a Foxpro
  999.       shell and user records.  Now we are going to learn how to print these
  1000.       records.
  1001.  
  1002.       From the previous examples, you should now be at the main menu.  We
  1003.       will be printing a record, so make sure your printer is connected and
  1004.       on-line.  If not, you may wish to skip this section.  If your printer
  1005.       is ready, press [P].  You should see the following screen:
  1006.  
  1007.  
  1008.       +--------------------------------------------------------------------+
  1009.                            Foxpro Shell, Version 01.00.00
  1010.                       (c) 1993 Dennis Allen, All rights reserved
  1011.       |                                                                    |
  1012.        ------------------------- P R I N T    M E N U --------------------
  1013.       |                                                                    |
  1014.                            1 - Print Shell   Edit List
  1015.                            2 - Print User ID Edit List
  1016.       |                                                                    |
  1017.                            Q - Return to main menu
  1018.       |                                                                    |
  1019.       |                                                                    |
  1020.       |--------------------------------------------------------------------|
  1021.                                    Your selection:
  1022.       +--------------------------------------------------------------------+
  1023.  
  1024.  
  1025.       The menu is simple and self-explanatory.  Option '1' allows you to
  1026.       print application record.  Option '2' will print user ID records.
  1027.       Option 'Q' will return you to the main menu.
  1028.  
  1029.  
  1030.                              Printing Shell Records
  1031.  
  1032.  
  1033.       Option '1', of the print menu, introduces the concept of the option
  1034.       grid.  At the print menu, press [1].  You should see the following
  1035.       screen:
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.                                      - Page 16 -
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.                                  Print Foxpro Shell
  1062.  
  1063.  
  1064.       +--------------------------------------------------------------------+
  1065.                           Foxpro Shell, Version 01.00.00
  1066.                     (c) 1993 Dennis Allen, All rights reserved
  1067.       |                                                                    |
  1068.        ---------------------- Mailing Labels --------------------------
  1069.       |                                                                    |
  1070.            Description:
  1071.       |                                                                    |
  1072.            File Path:
  1073.       |                                                                    |
  1074.            File Name:
  1075.       |                                                                    |
  1076.             Index File:                    Order:
  1077.       |--------------------------------------------------------------------|
  1078.                   Print   Screen    Help   Update    Quit
  1079.       +--------------------------------------------------------------------+
  1080.  
  1081.  
  1082.       You are given an option grid.  The option grid will look like the
  1083.       Shell edit window.  The option grid prompts will determine what
  1084.       records will be printed and in what order.  For example, specifying
  1085.       "D:" for file path will print all application installed on drive D.
  1086.  
  1087.       From this option grid, you are also allowed to select the index file
  1088.       and index order.  These field are the push button equivalent to the
  1089.       toggle index/toggle order found in the Foxpro shell editor.
  1090.  
  1091.       Press [F10] to complete the option grid.  You will be given a menu of
  1092.       choices, depending on the report.  You can press [U] to update the
  1093.       option grid.  You can press [H] for help, or press [Q] to quit to the
  1094.       print menu.
  1095.  
  1096.       Pressing [S] for screen mode, or [P] for print mode, will start
  1097.       creating a print file.  During this operation, you can abort by
  1098.       pressing [Esc].
  1099.  
  1100.       If you pressed [S], you will see the report displayed upon the
  1101.       screen.  Press [Pgup] or [Pgdn] to view the report.  Press [Esc] or
  1102.       [F10] to return to the option grid.
  1103.  
  1104.       Pressing [P] will copy the report to the printer.  When you are
  1105.       finished, press [Q] to return to the print menu.
  1106.  
  1107.       Note:  If you need to adjust the printer device, printer controls,
  1108.       label widths, or label lengths, use option S of the main menu.  See
  1109.       System setup.
  1110.  
  1111.  
  1112.                                       Quit
  1113.  
  1114.  
  1115.       Option '2' of the print menu provides the same prompts as option '1'.
  1116.       If you wish, try printing user records.  When you have experimented
  1117.       enough, press [Q] at the print menu to return to the main menu.
  1118.  
  1119.                                      - Page 17 -
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.                                     System Setup
  1128.  
  1129.  
  1130.       Option 'S' of the main menu offers several facilities.  Among them,
  1131.       the ability to change printer control codes.  Upon pressing [S] at
  1132.       the main menu, you should see the following:
  1133.  
  1134.  
  1135.       +--------------------------------------------------------------------+
  1136.                               Foxpro Shell, Version 01.00.00
  1137.                        (c) 1993 Dennis Allen, All rights reserved
  1138.       |                                                                    |
  1139.        -------------------  S Y S T E M   S E T U P  ---------------------
  1140.       |                                                                    |
  1141.                            1 - Edit Expression Builder
  1142.                            2 - Edit Printer Control Codes
  1143.                            3 - Change Color Set
  1144.                            4 - Problems & Suggestions
  1145.                            5 - All about...
  1146.       |                                                                    |
  1147.                            M - Display/Print Manual
  1148.       |                                                                    |
  1149.                            Q - Quit this Menu
  1150.       |                                                                    |
  1151.       |--------------------------------------------------------------------|
  1152.                                  Your selection:
  1153.       +--------------------------------------------------------------------+
  1154.  
  1155.  
  1156.       Option '1' will invoke the expression builder.  The expression
  1157.       builder creates a record filter.  A record filter defines those
  1158.       records that can be viewed, edited, and printed.
  1159.  
  1160.       Option '2' allows you to change printer control codes.
  1161.  
  1162.       Option '3' will allow you to change the current color set.  If you
  1163.       don't like the colors used by Shell, this option lets you change
  1164.       them.
  1165.  
  1166.       Option '4' will allow you to leave a message to the application
  1167.       author.  Messages can point out a problem or can offer a suggestion.
  1168.  
  1169.       Option '5' will display status information about this application.
  1170.       What version of Foxpro is running and about much memory is available.
  1171.  
  1172.       Option 'M' allows you to display and/or print the user manual.
  1173.       Option 'Q' returns you to the main menu.
  1174.  
  1175.  
  1176.                                Expression Builder
  1177.  
  1178.  
  1179.       The expression builder allows you to select a record filter from a
  1180.       list of record filters.  A record filter defines those records in a
  1181.       database that can be viewed, edited, or printed.  The record filter
  1182.       is in effect only while your application is running.  Filters can be
  1183.       redefined as often as desired.
  1184.  
  1185.                                      - Page 18 -
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.                                     System Setup
  1194.  
  1195.  
  1196.  
  1197.       Note:  In this application, filters will be created and used for the
  1198.       user ID database.
  1199.  
  1200.       At the system setup menu, press [1].  Upon entry, you are given a
  1201.       list of existing record filters.  Chose an existing filter.  For
  1202.       example, move the cursor to the filter named "Blank user ID".  Press
  1203.       [Enter].  The filter "Blank user ID" is now active and will allow you
  1204.       to view only those records with a blank user id.  In other words,
  1205.       application passwords.
  1206.  
  1207.       You also might want to create a record filter.  At the system setup
  1208.       menu, press [1].  Press [F10] for the menu and press "N" to create an
  1209.       expression.  Enter "Dennis Allen" for the name of your expression.
  1210.       You will be given a choice of the custom expression builder, or the
  1211.       Foxpro expression builder.  Unless you know how to use the Foxpro
  1212.       expression builder, select the custom builder.
  1213.  
  1214.       You will be given a popup list of available field names.  Select the
  1215.       field "User ID".  The next popup will display the action that can be
  1216.       taken on "User ID".  Select the popup "Contains".  Now you will be
  1217.       prompted for a character string.  Type "Dennis Allen" and press
  1218.       [Enter].
  1219.  
  1220.       The record filter is displayed.  You may add, delete, or edit phrases
  1221.       in the expression.  But just press [F10] to accept the current one.
  1222.  
  1223.       That's all there is to it!  You've created a filter that views only
  1224.       passwords belonging to the user "Dennis Allen".  Press [Enter] to
  1225.       select the filter.  You will be returned to the system setup menu.
  1226.       If you don't want to use this filter, simply return to the expression
  1227.       builder and press [Esc] to abort.
  1228.  
  1229.       Note:  If you are running on a network, see Appendix D:  Record
  1230.       filters.
  1231.  
  1232.  
  1233.                               Printer Control Codes
  1234.  
  1235.  
  1236.       At the setup menu, press [2].  The following screen will be
  1237.       displayed:
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.                                      - Page 19 -
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.                                     System Setup
  1260.  
  1261.  
  1262.       +--------------------------------------------------------------------+
  1263.                            Foxpro Shell, Version 01.00.00
  1264.                       (c) 1993 Dennis Allen, All rights reserved
  1265.       |                                                                    |
  1266.        --------------------- S Y S T E M   S E T U P ---------------------
  1267.       |                                                                    |
  1268.                      Printer Name         : Default
  1269.                      Printer Device       : PRN
  1270.                      Printer Default      : CHR(27)+"@"
  1271.                      Printer 10 cpi       :
  1272.                      Printer 12 cpi       :
  1273.                      Printer Condense On  :
  1274.                      Printer Bold      On :
  1275.                      Printer Bold      Off:
  1276.                      Printer Underline On :
  1277.                      Printer Underline Off:
  1278.       |                                                                    |
  1279.                      Number of Straight Lines/Page:
  1280.                      Number of Sideways Lines/Page:
  1281.       |                                                                    |
  1282.                      Print in Draft mode?
  1283.       |--------------------------------------------------------------------|
  1284.                Press [ESC] to abort and return to main menu...
  1285.       +--------------------------------------------------------------------+
  1286.  
  1287.                                   Printer Name
  1288.  
  1289.  
  1290.       The printer name is simply identifies the current configuration.  If
  1291.       the database P_CODES.DBF is available, you may press [F1] for a list
  1292.       of all available printers.  A selection changes all printer codes to
  1293.       the selected printer.  Press [F10] to complete the screen.
  1294.  
  1295.                                  Printer Device
  1296.  
  1297.       The printer device defines where output is to be sent.  Typically,
  1298.       you would use LPT1 or LPT2.  In the Multi-user environment, this
  1299.       option also allows you to define the network spooler.
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.                                      - Page 20 -
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.                                     System Setup
  1326.  
  1327.  
  1328.                                   Printer Codes
  1329.  
  1330.       If you have an 80 column printer, define the control codes required
  1331.       by your printer to invoke compressed printing.  These control codes
  1332.       are sometimes referred to as 16.7 or 17 characters per inch.  Also
  1333.       define the control codes required to cancel condensed printing.
  1334.       These control codes are sometimes referred to as the default.  Shell
  1335.       will use these codes for reports normally requiring a 132 column
  1336.       printer.  Printer control codes are specified with dBASE expressions
  1337.       such as:
  1338.  
  1339.       CHR(27) + CHR(64)
  1340.  
  1341.       or:
  1342.  
  1343.  
  1344.       CHR(27) + '@'
  1345.  
  1346.       In general, most printer manuals give printer control strings as
  1347.       BASIC programming statements using the BASIC function CHR$().  The
  1348.       dBASE CHR() function is identical, so simply removing the "$" sign
  1349.       from the examples in your printer manual should do the job.
  1350.  
  1351.       Note:  If you press [F1], you will see a browse popup of available
  1352.       printers.  Simply select your printer and press [Enter].  All printer
  1353.       codes will be converted to the selected printer.
  1354.  
  1355.                              Straight lines per page
  1356.  
  1357.       To this day, there are some printers that do not accept form feeds.
  1358.       So rather than asking for form feed code, Shell asks for the number
  1359.       of lines per page.  Most printers use 66 lines.  Laser printers
  1360.       usually need 57 lines.
  1361.  
  1362.                                     Sideways
  1363.  
  1364.       It is sometimes necessary to print large reports using a sideways
  1365.       print utility.  So in case it is ever needed, the system setup
  1366.       prompts for the number of lines to print sideways.  For an 80 column
  1367.       printer, use 53 lines. For a 132 column printer, use 90 lines.
  1368.  
  1369.                                    Draft mode
  1370.  
  1371.       A report option grid creates a report file.  From the option grid,
  1372.       there are two ways to print this file:  Regular mode and draft mode.
  1373.       In regular mode the report file is read and printed, one line at a
  1374.       time.  The user may press [Esc] to abort.  If the printer becomes
  1375.       off-line, the user can usually restart at the point of interruption.
  1376.  
  1377.       In draft mode, the report file is copied directly to the print
  1378.       device.  In MS-DOS windows, draft mode will bypass the print spooler.
  1379.       Draft mode, however, does not allow the user to press [Esc] or nor
  1380.       does it allow the user to restart a print job.
  1381.  
  1382.  
  1383.                                      - Page 21 -
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.                                     System Setup
  1392.  
  1393.  
  1394.       The mode you use depend on your needs.  Regular mode is the most
  1395.       reliable method.  Under MS-DOS windows, draft mode is the quickest.
  1396.  
  1397.  
  1398.                                 Change Color Set
  1399.  
  1400.  
  1401.       A Foxpro color set defines all color attributes used by this
  1402.       application.  Upon pressing [3] at the system setup, a popup menu
  1403.       will display all the different color sets available.  These color
  1404.       sets reside within the Foxpro resource file (FOXUSER.DBF).  Use the
  1405.       cursor keys to highlight the desired color set.  Then, select by
  1406.       pressing [Enter].
  1407.  
  1408.                              Customizing Color Sets
  1409.  
  1410.  
  1411.       A new feature has been added to the color selector.  The user now has
  1412.       the ability to customize colors.  Once a color has been selected, the
  1413.       color selector will search for a second Foxpro resource file
  1414.       (FOXUSER2.DBF).  In this file, color sets are stored in ASCII text
  1415.       format.
  1416.  
  1417.       If you are a system administrator, you will be prompted whether to
  1418.       edit the ASCII text of your selected color set.  The text layout is
  1419.       simple.  Twelve lines for the twelve color schemes used by this
  1420.       application.  Each line contain ten color pairs.  A color pair
  1421.       "W*/B+", for example, would denote a white foreground, blue
  1422.       background ("*" denotes blinking and "+" denotes intensity).  For a
  1423.       description of color pairs used within a scheme, check the color
  1424.       picker portion of the Foxpro manual.
  1425.  
  1426.       Experiment with different color sets.  Note that the top of the
  1427.       screen may not change color until you exit and reenter the
  1428.       application.  Be warned, however.  The color set becomes permanent
  1429.       until the next time you select a different color.
  1430.  
  1431.       Note:  The second Foxpro resource file can only be created and edited
  1432.       by the system administrator.
  1433.  
  1434.  
  1435.                              Problems & Suggestions
  1436.  
  1437.  
  1438.       Upon pressing [4], you will be presented with a memo window.  Type
  1439.       any message you wish to leave the application programmer.  Press
  1440.       [F10] to complete the message, or [Esc] to abort.  Your message will
  1441.       be placed in the Foxpro error file (FOXERR.DBF).
  1442.  
  1443.       If you have already created messages, you may wish to modify them.  A
  1444.       browse, indicating the date and time of each message, will be
  1445.       displayed.  Select the desired message record.  Then, press [Ctrl]-
  1446.       [Pgdn] to expand the message window.
  1447.  
  1448.  
  1449.                                      - Page 22 -
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.                                     System Setup
  1458.  
  1459.  
  1460.  
  1461.                                   All About...
  1462.  
  1463.  
  1464.       Option '5', of the system menu, will display status information about
  1465.       this application.  What version of Foxpro is running, about much
  1466.       memory is available, and the different kinds of application modes
  1467.       (Multi-user, debug, system administration).  This option will also
  1468.       tell you how the various data paths are defined.
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.                                      - Page 23 -
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.                                     System Setup
  1524.  
  1525.  
  1526.                               Display/Print Manual
  1527.  
  1528.  
  1529.  
  1530.       Option 'M', of the system menu, will display the user manual.  You
  1531.       may use [PgUp] or [PgDn] to view various pages.  You may print the
  1532.       entire user manual by pressing [Alt]-P].  Press [Esc] to return to
  1533.       the system setup menu.
  1534.  
  1535.  
  1536.                                       Quit
  1537.  
  1538.  
  1539.       Before leaving the system setup menu, a reminder.  Record filters
  1540.       remain in effect only for the duration of the application.  Color
  1541.       sets and printer control codes, on the other hand, are permanent.
  1542.       When you have experimented enough, press [Q] at the system setup menu
  1543.       to return to the main menu.
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.                                      - Page 24 -
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.                                       Utilities
  1590.  
  1591.  
  1592.       Option 'U' of the main menu provides the miscellaneous options needed
  1593.       to maintain the Foxpro shell system.  Upon pressing [U] at the main
  1594.       menu, you should see the following:
  1595.  
  1596.  
  1597.       +--------------------------------------------------------------------+
  1598.                               Foxpro Shell, Version 01.00.00
  1599.                        (c) 1993 Dennis Allen, All rights reserved
  1600.       |                                                                    |
  1601.        -------------------  U T I L I T Y    M E N U ---------------------
  1602.       |                                                                    |
  1603.                            A - Rebuild indices
  1604.                            B - Initialize Databases
  1605.       |                                                                    |
  1606.                            Q - Quit this Menu
  1607.       |                                                                    |
  1608.       |--------------------------------------------------------------------|
  1609.                                  Your selection:
  1610.       +--------------------------------------------------------------------+
  1611.  
  1612.  
  1613.       Option 'A' reconstructs all system indices in the event of a crash or
  1614.       other strange system behavior.  Option 'A' also removes deleted
  1615.       records, thereby reclaiming disk space.
  1616.  
  1617.       Option 'B' will allow you to reset any or all database files in the
  1618.       Shell system.  Option 'Q' will return you to the main menu.
  1619.  
  1620.       Note:  Options 'A' and 'B' are available only in single-user mode.
  1621.       Option 'B' is only available to the system administrator.  See
  1622.       Appendix D.
  1623.  
  1624.  
  1625.                                Rebuilding Indices
  1626.  
  1627.  
  1628.       Option 'A' of the utility menu will reconstruct all system indices in
  1629.       the event of a crash or other strange system behavior.  You will be
  1630.       prompted whether to continue.  Upon pressing [Y], all indices will be
  1631.       rebuilt.  Option 'A' also removes deleted records, thereby reclaiming
  1632.       disk space.  You will then be returned to the utility menu1.
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.       ____________________
  1645.       1 Not available in Multi-user mode.  See Appendix D.
  1646.  
  1647.                                      - Page 25 -
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.                                       Utilities
  1656.  
  1657.  
  1658.  
  1659.                              Initializing Databases
  1660.  
  1661.  
  1662.       Option 'B' of the utility menu will allow you to "reset" any or all
  1663.       database files in the Shell system by removing all data from them.
  1664.       You probably will want to use this option after completing the sample
  1665.       entries and exercises in this manual, so you can begin fresh with
  1666.       "real" data.
  1667.  
  1668.       Upon press [B] at the utility menu, you will be prompted whether to
  1669.       reset each database file, one at a time.  You will then be returned
  1670.       to the utility menu2.
  1671.  
  1672.       When you have experimented enough, press [Q] at the utility menu to
  1673.       return to the main menu.
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.       ____________________
  1711.       2 System Administration function only.  See Appendix D.
  1712.  
  1713.                                      - Page 26 -
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.                                      Quit to DOS
  1722.  
  1723.  
  1724.       Once you have returned to the main menu, press [Q] to return to the
  1725.       DOS ready.  It is VERY important that you do not leave the Shell
  1726.       System without returning to DOS.  NEVER turn off the machine while in
  1727.       the Shell system.  Doing so may result in file corruption and lots of
  1728.       headaches to us developers.
  1729.  
  1730.       This concludes the system overview.  If you wish to know more about
  1731.       the Foxpro shell editor, or any other editor in the Shell system, see
  1732.       Appendix A.  If you wish to know about the file layouts, see Appendix
  1733.       B.  If you ever see the infamous error message "Ignore, Retry,
  1734.       Suspend, or Quit", see Appendix C.  If you wish to install the multi-
  1735.       user mode, see Appendix D.
  1736.  
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.                                      - Page 27 -
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.                                      Appendix A
  1788.  
  1789.  
  1790.       This section describes all characteristics, in detail, of the generic
  1791.       editor used in this type of Foxpro application.  While this editor
  1792.       may be customized for many applications, all share common functions.
  1793.       Thus, to learn one version is to know another version.
  1794.  
  1795.       This type of Foxpro application usually has an edit menu.  This menu
  1796.       allows the user to invoke one or more editors.  The following is an
  1797.       example of the edit menu used in the dMAIL4 System:
  1798.  
  1799.  
  1800.       +--------------------------------------------------------------------+
  1801.                           Mailing List, Version 03.05.00
  1802.                     (c) 1993 Dennis Allen, All rights reserved
  1803.       |                                                                    |
  1804.        ----------------------  E D I T    M E N U ------------------------
  1805.       |                                                                    |
  1806.                           1 - Edit Mailing List
  1807.                           2 - Edit User IDs
  1808.       |                                                                    |
  1809.                           Q - Return to main menu
  1810.       |                                                                    |
  1811.       |--------------------------------------------------------------------|
  1812.                                    Your selection:
  1813.       +--------------------------------------------------------------------+
  1814.  
  1815.  
  1816.       In this edit menu, the user has the option to use two editors.  Each
  1817.       editor allows the user to maintain separate, but related, databases
  1818.       in the dMAIL4 System.  While we really don't need to go any further,
  1819.       but it is good to know where most editors are invoked.
  1820.  
  1821.       Once a generic editor is invoked, its window will be displayed.  The
  1822.       window consists of a window title, field descriptions, and all fields
  1823.       of the database record that happens to be current.  A menu window is
  1824.       also displayed.  The menu window contains all the one-character
  1825.       options available to the user.  The following is a sample screen of
  1826.       the mailing list editor used in the dMAIL4 System:
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.                                      - Page 28 -
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.                                      Appendix A
  1854.  
  1855.  
  1856.       +--------------------------------------------------------------------+
  1857.                             Mailing List, Version 03.05.00
  1858.                         (c) 1993 Dennis Allen, All rights reserved
  1859.       |                                                                    |
  1860.        --------------------------- Mailing List --------------------------
  1861.        User ID:
  1862.        First Name:                       Last:
  1863.                   Billing                Shipping
  1864.        Address 1 :
  1865.        Address 2 :
  1866.        City/State:
  1867.        Zip Code  :
  1868.        Sex:          Status:             Head of HouseHold:
  1869.        Home: (  )    -                   Birth:
  1870.        Work: (  )    -                   Wedding:
  1871.        Soc.Sec. #:   -  -                Active Date:
  1872.             [ ] MS-DOS    +------------ Message Memo -------------+
  1873.             [ ] CP/M      |                                       |
  1874.             [ ] TRSDOS    |                                       |
  1875.                           +---------------------------------------+
  1876.       |--------------------------------------------------------------------|
  1877.               Toggle Index (Last Name)    Toggle Order (Ascending)
  1878.               Add    Browse Delete Find   Goto   Help  Update   Quit
  1879.       +--------------------------------------------------------------------+
  1880.  
  1881.  
  1882.       All editors have the same basic functions.  Before continuing, we
  1883.       will describe each function in detail.
  1884.  
  1885.                                   Add Function
  1886.  
  1887.       Pressing [A] will allow you to add a record to the current database.
  1888.       The cursor will be positioned on the first field in the record.  Now
  1889.       whether adding or updating a record, there only a few keystrokes you
  1890.       need to know.
  1891.  
  1892.       You can move the cursor from field to field using the arrow keys.
  1893.       For instance, the Right arrow, the Down arrow, and the [Enter] key,
  1894.       moves the cursor forward one field at a time.  The left arrow and up
  1895.       arrow will move the cursor back one field.
  1896.  
  1897.       Note:  If you have a mouse, you also can move from field to field.
  1898.       Simply move the mouse cursor to the desired field and press the left
  1899.       mouse button.
  1900.  
  1901.       The [Home] key will move the cursor to the beginning of a field.  If
  1902.       the cursor is already there, [Home] will move the cursor to the first
  1903.       field in the screen.  The [End] key will move the cursor to the end
  1904.       of the field.  If the cursor is already there, [End] will move the
  1905.       cursor to the last field in the screen.
  1906.  
  1907.       If you need more information on any field, press [F1].  If there is
  1908.       help information, a help window will be displayed.  The help window
  1909.       will remain until you press either [Esc] or [F10].
  1910.  
  1911.                                      - Page 29 -
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.                                      Appendix A
  1920.  
  1921.  
  1922.  
  1923.       Note: By pressing [F1] (then [F10] if there is help text), you may
  1924.       invoke another Foxpro editor.  If the current input field is
  1925.       validated against another file, the editor of that file will appear.
  1926.       Use the Goto option to display the desired record.  Then press [Q] to
  1927.       quit.  Your input field will be filled with the corresponding field
  1928.       in the chosen record.
  1929.  
  1930.       Pressing [Ctrl]-[Home] will repeat the last text that was displayed
  1931.       in the current field.  This function provides a convenient means of
  1932.       adding many records with similar field descriptions.
  1933.  
  1934.       Once you have entered your data, moving the cursor beyond the last
  1935.       field on the screen tells the editor to accept the record.  Pressing
  1936.       [F10] also will tell the editor to accept the record.  You would then
  1937.       be prompted to add another record.  The [Esc] key will abort the add
  1938.       function, returning the screen to its original condition.
  1939.  
  1940.                                  Browse Function
  1941.  
  1942.       Pressing [B] will invoke the Foxpro browse function.  The browse
  1943.       function will display as many database records as will fit in one
  1944.       window.  You can use the left arrow, right arrow, [Tab], and [Shift]-
  1945.       [Tab] keys to move the cursor from field to field.  You can move from
  1946.       record to record with the up and down arrow keys.  You use the page
  1947.       up/down keys to display the next/previous window of records in the
  1948.       current database.
  1949.  
  1950.       If you have a mouse, you also can use the characters located on the
  1951.       right side of the window.  Place the mouse cursor on the up/down
  1952.       arrow characters and press the left button to move one record at a
  1953.       time.  The diamond character show where you're located in relation to
  1954.       the rest of the database.  Place the mouse cursor on the diamond and
  1955.       press the left button.  Dragging the diamond will re-position you in
  1956.       the database.
  1957.  
  1958.       Mouse Note:  After you found the record you want, place the mouse
  1959.       cursor on the record and press the left button.  Otherwise, the first
  1960.       time you try to update a record will put you back to the last record
  1961.       displayed before using the mouse.
  1962.  
  1963.       If there are more fields than can be displayed in one window,
  1964.       pressing [TAB] will scroll to the next field.  Pressing [Shift]-[TAB]
  1965.       will scroll back one field.
  1966.  
  1967.       If you have a mouse, you also may use the characters located across
  1968.       the bottom of the window.  Place the mouse cursor on the left/right
  1969.       arrow characters and press the left button to move one field at a
  1970.       time.  The diamond character show where you're located in relation to
  1971.       the rest of the database.  Place the mouse cursor on the diamond and
  1972.       press the left button.  Dragging the diamond will re-position the
  1973.       fields displayed in the database.
  1974.  
  1975.  
  1976.  
  1977.                                      - Page 30 -
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.                                      Appendix A
  1986.  
  1987.  
  1988.       Mouse Note:  After you found the field you want, place the mouse
  1989.       cursor on the field and press the left button.  Otherwise, the first
  1990.       time you try to update a field will put you back to the last field
  1991.       displayed before using the mouse.
  1992.  
  1993.       In the browse function you may edit any field as desired.  Press
  1994.       [Ctrl]-[N] to add a record from the browse.  Press [Ctrl]-[T] to
  1995.       delete the current record from the browse.  When finished, press
  1996.       [F10] to return to the edit menu.  Pressing [Esc] also will return
  1997.       you to the edit menu, but it will abort any change to the current
  1998.       record.
  1999.  
  2000.       Note:  The JKEY incremental search has recently been added to the
  2001.       browse command.  When performing a browse, press [Ctrl]-[J] to
  2002.       activate JKEY.  A search will begin on the current index.  Each new
  2003.       keystroke will be added to the search string and the record, closest
  2004.       matching to the current string, will be displayed.  You may press
  2005.       [BackSpace] to revise the search string, or press [Ctrl]-[Y] to clear
  2006.       it.  To abort JKEY, simply press [Ctrl]-[J] once again (or [Esc] to
  2007.       abort the browse).
  2008.  
  2009.                                  Delete Function
  2010.  
  2011.       Pressing [D] will allow you to delete the currently displayed record.
  2012.       You will be prompted whether you are sure.  Pressing [Y] deletes the
  2013.       record from the database.
  2014.  
  2015.                                   Find Function
  2016.  
  2017.       Pressing [F] will invoke the find function.  This option is only
  2018.       available if a database is indexed.
  2019.  
  2020.       If invoked, you would type the key of the desired record, and press
  2021.       [Enter].  If found, the record would be displayed.  You could then
  2022.       delete it, or update it.
  2023.  
  2024.  
  2025.       Note:  The key doesn't have to be a complete description.  For
  2026.       incomplete keys, the find function will try to find the record with
  2027.       the closet matching key.
  2028.  
  2029.       Recently, wild-carding has been introduced into the [F]ind function.
  2030.       For example, suppose we have a customer file.  It has an index by
  2031.       last name.  When the find function prompts us, we could type:
  2032.  
  2033.            Last Name:  ..ll..
  2034.  
  2035.       In this example, we are searching for a customer whose last name
  2036.       contain a "ll".  In another example:
  2037.  
  2038.            Last Name:  ..en
  2039.  
  2040.       We are searching for a customer whose last name ends with "en".  In
  2041.       one more example:
  2042.  
  2043.                                      - Page 31 -
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.                                      Appendix A
  2052.  
  2053.  
  2054.  
  2055.            Last Name:  al..
  2056.  
  2057.       We are searching for a customer whose last name begins with "al".
  2058.  
  2059.       Here's where wild-carding get interesting.  Let's use the first
  2060.       example.  Say we find a customer whose last name contains a "ll".  If
  2061.       we use the [G]oto function, we get an extra option.  This option,
  2062.       called [C]ontinue, will allow us to find the next customer whose last
  2063.       name contains a "ll".
  2064.  
  2065.       The continue option will remain in effect until you perform another
  2066.       find.  It will search for the next wild-card occurrence no matter
  2067.       where you are in the database.  In that sense, think of wild-carding
  2068.       as an implicit record filter.
  2069.  
  2070.       Oh, a new feature has been added to wild-carding:  The triple period
  2071.       "...".  Like the double period "..", the triple period denotes wild-
  2072.       carding.  Using the triple, however, will also disable the current
  2073.       index during the search.
  2074.  
  2075.       You see, wild-card searches are a LOT faster when done on an
  2076.       unordered database.  So if you are looking for just one record or two
  2077.       records, don't care about viewing order, and are using a huge
  2078.       database, the triple period might save you valuable time.
  2079.  
  2080.                                   Goto Function
  2081.  
  2082.       Pressing [G] will create a pop-up menu.  This popup menu allows the
  2083.       user to display different records in the current database.  Press [F]
  2084.       for the first record in the database.  Press [L] for the last record.
  2085.       Press [N] for the next record.  Press [P] for the previous record.
  2086.       The goto window remains active until you press [Esc] or [Q] to quit.
  2087.  
  2088.       If the current database is indexed, order is defined by the toggle
  2089.       order function.  For example, if the current record is customer 5,
  2090.       pressing [N] will display customer 6.  If the index order is
  2091.       descending, however, pressing [N] will display customer 4.  See
  2092.       toggle index order.
  2093.  
  2094.       A new option, [W] for window, has been added.  Pressing [W] activates
  2095.       the goto window.  The user may then move the goto window to any
  2096.       location on the screen.  That location remains in effect for the
  2097.       duration of the editor.
  2098.  
  2099.       To move the window, press [Ctrl]-[F7].  The goto window border will
  2100.       flash.  Press any cursor key to move the window.  Press [Ctrl]-[F7]
  2101.       to stop the window from flashing.  Then press [Esc] to resume the
  2102.       normal goto prompts.
  2103.  
  2104.       Note:  You also may use a mouse to move the goto window.  Press [W].
  2105.       Place the mouse cursor on the border of the goto window.  Press the
  2106.       left button.  Drag the mouse cursor (and window) to the desired
  2107.       location.  Then, press the right button to resume the goto prompts.
  2108.  
  2109.                                      - Page 32 -
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.                                      Appendix A
  2118.  
  2119.  
  2120.  
  2121.                                   Help Function
  2122.  
  2123.       Pressing [H] will display a summary of commands used in the edit menu
  2124.       as in the following screen.  Pressing any key after that returns you
  2125.       to the edit menu.
  2126.  
  2127.  
  2128.           Command prompt
  2129.  
  2130.           [T]oggle Index -  Change Index used by [F]ind command
  2131.           Toggle [O]rder -  Current Index in Ascending/Descending Order
  2132.  
  2133.           [A]dd        -  Add a record to the current database
  2134.           [B]rowse     -  List all records a page at a time
  2135.           [D]elete     -  Delete the currently displayed record
  2136.           [F]ind       -  Search database for record with specified key
  2137.           [G]oto       -  Display the First, Last, Next, or Previous record
  2138.           [H]elp       -  Display help information
  2139.           [R]ecall     -  Recall Deleted Records
  2140.           [U]pdate     -  Update the currently displayed record
  2141.           [Q]uit       -  Return to calling program
  2142.  
  2143.           Common full screen keystrokes
  2144.  
  2145.           [ESC]        -  Abort operation, return to prompt/menu
  2146.           [HOME]       -  move cursor to beginning field
  2147.           [END]        -  move cursor to ending field
  2148.           [CTRL][HOME] -  repeat last input field completed
  2149.           [CTRL][END]  -  Complete operation, return to prompt/menu
  2150.           [F1]         -  Display Help text/call another editor
  2151.           [F10]        -  Complete operation, return to prompt/menu
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.                                      - Page 33 -
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183.                                      Appendix A
  2184.  
  2185.  
  2186.  
  2187.                                  Recall Function
  2188.  
  2189.       Pressing [R] allows you to recall a deleted record.  You will be
  2190.       presented with a browse window of all deleted records.  Simply locate
  2191.       the record to be recalled and press [Enter].
  2192.  
  2193.       Note:  If the current database has no deleted() index, you will be
  2194.       prompted for the record key (just like the find function).  Type the
  2195.       key of the record to be recalled and press [Enter].  If the deleted
  2196.       record is found, it is made active again.
  2197.  
  2198.  
  2199.                               Toggle Index Function
  2200.  
  2201.       For databases with multiple indices, the toggle option will be
  2202.       displayed.  The toggle option allows the user to change what index
  2203.       will be used with the [F]ind option.  The current index is displayed
  2204.       in parenthesis.
  2205.  
  2206.                               Toggle Order Function
  2207.  
  2208.       This option toggles the order of the current index.  The current
  2209.       order is displayed in parenthesis.
  2210.  
  2211.       For example, if the current order is ascending, pressing [O] will
  2212.       toggle the order to descending.  If the current index is by last
  2213.       name, then 'ALPHA' will come after 'BETA'  Pressing [O] again will
  2214.       change the current index back to ascending.
  2215.  
  2216.                                  Update Function
  2217.  
  2218.       Pressing [U] allows you to update the currently displayed record.
  2219.       Like the add function, moving the cursor past the last field will
  2220.       complete the updating.  Pressing [Esc] will abort any update.
  2221.  
  2222.                                   Quit Function
  2223.  
  2224.       Finally, pressing [Q] will quit the editor.  You will be returned to
  2225.       the menu that invoked the editor.
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.                                      - Page 34 -
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.                                     Appendix A-1
  2250.  
  2251.  
  2252.  
  2253.  
  2254.       If you ever been on an input field, you may have noticed that
  2255.       pressing [Alt] displays a menu at the very top of the screen.  This
  2256.       is called the system menu, or sysmenu for short.  The system menu
  2257.       displayed is a customized version of the Foxpro sysmenu.  It contains
  2258.       a variety of functions and is available to all users.  The following
  2259.       describes only a few features available through the sysmenu.  For
  2260.       more information, see the Foxpro users manual.
  2261.  
  2262.  
  2263.                                   Sysmenu edit
  2264.  
  2265.  
  2266.       The sysmenu edit popup is very powerful.  It gives any input field a
  2267.       variety of edit functions.  For example, highlighting a section of
  2268.       text ([Shift] and cursor key) and pressing [Del] will delete this
  2269.       text.  But [Ctrl]-[C] would have copied this text into the clipboard.
  2270.       You would then use [Ctrl]-[V] to paste this text.
  2271.  
  2272.       Note:  The sysmenu edit popup provides a [Ctrl]-[U] option to undo a
  2273.       deletion, copy, cut, or paste.
  2274.  
  2275.       Another example:  Suppose you are editing a memo field.  The sysmenu
  2276.       edit popup provides a [Ctrl]-[F] option to find specified text.  This
  2277.       popup also provides a [Ctrl]-[G] option to repeat the last find.
  2278.  
  2279.       There are other functions in the sysmenu edit popup.  See the Foxpro
  2280.       users manual for details.
  2281.  
  2282.  
  2283.                                 Foxpro Calculator
  2284.  
  2285.  
  2286.       Simply enter a numeric value on any input field.  Press [Alt]-[F4] to
  2287.       activate the Foxpro calculator.  The Foxpro calculator will display
  2288.       your numeric value.
  2289.  
  2290.       When you have a new calculated value, press [Ctrl]-[F4] to deactivate
  2291.       the calculator.  Your new numeric value will be placed into the
  2292.       current input field.
  2293.  
  2294.       Note:  If you just want the calculator, press [F4].  But you must be
  2295.       on an input field to invoke [F4].
  2296.  
  2297.  
  2298.                                  Foxpro Calendar
  2299.  
  2300.  
  2301.       Simply enter a date on any input field.  Press [Alt]-[F5] to invoke
  2302.       the Foxpro calendar.  The Foxpro calendar will display the year,
  2303.       month, and day of the specified date.
  2304.  
  2305.  
  2306.  
  2307.                                      - Page 35 -
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.                                     Appendix A-1
  2316.  
  2317.  
  2318.       Select any desired date.  When you have a new date, press [Ctrl]-[F5]
  2319.       will deactivate the calendar.  Your new date will be placed into the
  2320.       current input field.
  2321.  
  2322.       Note:  If you just want the calendar, press [F5].  But you must be on
  2323.       an input field to invoke [F5].
  2324.  
  2325.  
  2326.                                 Foxpro DOS Shell
  2327.  
  2328.  
  2329.       In Foxpro for DOS, the system pulldown menu provides a DOS shell.  If
  2330.       you are a system administrator, pressing [Alt]-[S] [O] brings up the
  2331.       DOS command window.  Type any desired DOS command.  Type 'EXIT' and
  2332.       press [Enter] to leave the DOS shell.
  2333.  
  2334.  
  2335.                                   Printer Eject
  2336.  
  2337.  
  2338.       Press [F7] for a page eject.  A form feed will be sent to the printer
  2339.       device, specified in the System Setup.  Very useful for people with
  2340.       Laser Printers.
  2341.  
  2342.                                    Video Mode
  2343.  
  2344.  
  2345.       Press [Alt]-[V] for the video mode.  In Foxpro for DOS, a VGA screen
  2346.       will toggle between 25 and 43 line modes.  All subsequent windows
  2347.       will conform to the specified mode.  Very useful in displaying
  2348.       reports.
  2349.  
  2350.       In Foxpro for windows, [Alt]-[V] will display a font selector.  All
  2351.       sub-windows, to the current window, will conform to the specified
  2352.       font.  If you change the main menu window, the font becomes permanent
  2353.       to your application.
  2354.  
  2355.  
  2356.                                    Print Mode
  2357.  
  2358.  
  2359.       In Foxpro for windows, you can print a report with the current font.
  2360.       Send the report to the screen and use the 'Print' option of the
  2361.       'File' popup in sysmenu.  'Print' will print the entire contents of
  2362.       the current window, fonts and all.  Remember, however, that 'Print'
  2363.       will not use your printer codes.
  2364.  
  2365.       Note:  'Print' may not be available with the Foxpro for windows
  2366.       runtime unit.  To print font reports, obtain the developers copy of
  2367.       Foxpro for windows.
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.                                      - Page 36 -
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.  
  2381.                                      Appendix B
  2382.  
  2383.  
  2384.       The Shell System contains the following files:
  2385.  
  2386.       BACK     BAT    DBFS     PRG    EXPRMENU PRG    FOXERR   DBF
  2387.       FOXERR   FPT    FOXUSER  DBF    FOXUSER  FPT    SHELL    CDX
  2388.       SHELL    DBF    SHL      BAT    SHL      MAN    SHL      PRG
  2389.       SHLED    PRG    SHLED1   PRG    SHLED2   PRG    SHLPR    PRG
  2390.       SHLPR1   PRG    SHLPR2   PRG    SHLSYS   MEM    SHLSYS   PRG
  2391.       SHLUT    PRG    SHLUTA   PRG    SHLUTB   PRG    MANUAL   BAT
  2392.       SCR      CDX    SCR      DBF    SCR      FPT    SCRPROC  PRG
  2393.       UNBACK   BAT    USER     CDX    USER     DBF
  2394.  
  2395.       The files with a .BAT extension are batch files.  Files with a .DBF
  2396.       extension are database files.  Files with a .CDX are Foxpro compound
  2397.       index files.  Files with a .PRG extension are Foxpro source files.
  2398.       The files with a .FXP extension are Foxpro object modules.  The files
  2399.       with a .FPT extension are Foxpro memo files.
  2400.  
  2401.       The Shell manual is stored in a file with a MAN extension.  A copy
  2402.       can be printed simply by typing "MANUAL" at the DOS prompt.
  2403.  
  2404.       SHELL.DBF is the Foxpro shell database.  It is where applications are
  2405.       defined and is edited by the Foxpro shell editor.  It is indexed by
  2406.       SHELL.CDX which has an index tag by description.
  2407.  
  2408.       USER.DBF is the user id database.  It is where password our stored
  2409.       and is edited by the user id editor.  It is indexed by USER.CDX which
  2410.       tag a user ID tag and a description tag.
  2411.  
  2412.       SCR.DBF is the data dictionary.  It contains all the information
  2413.       defining the screen layouts.  SCR.FPT contains all the help text
  2414.       provided by the [F1] key.  It has one index, called SCR.CDX.  See
  2415.       Appendix D:  PROG.
  2416.  
  2417.       All Q*.* files belong, and are maintained, by the expression builder.
  2418.       See Appendix D:  Record Filters.
  2419.  
  2420.       SHLSYS.MEM is the Shell system memory file.  It contains system wide
  2421.       variables, including printer codes.
  2422.  
  2423.       FOXUSER.DBF is the foxuser resource file.  It contains all user
  2424.       attributes, including color.  See Appendix D.
  2425.  
  2426.       FOXERR.DBF is the Foxpro error file.  All major events are recorded
  2427.       here for debugging purposes.
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.                                      - Page 37 -
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.                                      Appendix B
  2448.  
  2449.  
  2450.  
  2451.                             Backup/Restore Data Files
  2452.  
  2453.  
  2454.       To insure the integrity of its data files, any major database should
  2455.       have a standardized backup procedure.  Data files should be
  2456.       periodically copied to a media, other than where they currently
  2457.       reside.  There is NO excuse for not developing a proper backup
  2458.       procedure.
  2459.  
  2460.       As a supplement, however, this application includes its own backup
  2461.       procedure.  To back up data, you must be in the application
  2462.       directory.  At the DOS prompt type:
  2463.  
  2464.                 BACK
  2465.  
  2466.       and press [Enter].  This command will copy all data files into a
  2467.       backup directory ('.\BAK').  In case of power failure, these backup
  2468.       files could be used to recover previous work.
  2469.  
  2470.       Restoring these backup files is simple.  To restore data, you must be
  2471.       in the application directory.  At the DOS prompt type:
  2472.  
  2473.                 UNBACK
  2474.  
  2475.       and press [Enter].  This command restores all data up to the point
  2476.       you last invoked BACK.
  2477.  
  2478.       Note:  If you decide to store data files in a separate directory (See
  2479.       Appendix D:  DATA), make sure the data directory has a '.\BAK' backup
  2480.       directory.  You would then execute BACK and UNBACK from your data
  2481.       directory.  For convenience, you might consider coping BACK.BAT and
  2482.       UNBACK.BAT into your data directory.
  2483.  
  2484.       Warning:  If you ever run into a problem with this application, NEVER
  2485.       invoke the "BACK" command without first resolving the problem.  If a
  2486.       data file is corrupt, using "BACK" would only copy this corrupted
  2487.       file over a good backup file.
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.                                      - Page 38 -
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.  
  2513.                                      Appendix C
  2514.  
  2515.  
  2516.       In the course of normal events, you shouldn't see any error messages.
  2517.       But events can happen to cause an error message.  The most common
  2518.       events are:  Disk space used up, printer not ready, multi-user, or
  2519.       syntax error.
  2520.  
  2521.  
  2522.                                    Disk Space
  2523.  
  2524.  
  2525.       If ever you see data records that look like garbage, you may have bad
  2526.       sectors on your hard disk.  Ask your system administrator to take a
  2527.       look at it.  The usual procedure is to back up all programs/data, and
  2528.       reformat the hard disk.  Any bad sectors found should be locked out
  2529.       and should no longer cause a problem.
  2530.  
  2531.       Bad data can result from lack of free space on the hard drive.  While
  2532.       you cannot start this application without a minimum amount of free
  2533.       space, it's always possible you might have used a routine that filled
  2534.       up your hard drive.  If this be the case, exit the application.  If
  2535.       you cannot get back into the application, due to lack of free space,
  2536.       have your system administrator remove all unused temporary files.  If
  2537.       you still cannot get back in, you might have to restore backup files.
  2538.  
  2539.  
  2540.                                 Printer not Ready
  2541.  
  2542.  
  2543.       If you're printing a report and the printer is not on, you will get a
  2544.       message:
  2545.  
  2546.            Printer not ready.
  2547.            Press anything to retry, 'Q' to quit"
  2548.  
  2549.       Simply turn on your printer, and press any key to retry.  Your report
  2550.       should start to print.  Pressing "Q" would have aborted the report
  2551.       and returned you to the main menu.
  2552.  
  2553.       If you retry and still get "Printer not ready", you may have to
  2554.       perform the following DOS command:
  2555.  
  2556.            MODE LPT1,,P
  2557.  
  2558.       This command tells DOS to perform an infinite number of retries on
  2559.       the print device "LPT1".  Depending on you machine, you may also have
  2560.       to increase the Foxpro printer time-out.  See Appendix D:  TIME.
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.                                      - Page 39 -
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.                                      Appendix C
  2580.  
  2581.  
  2582.  
  2583.                                 Multi-User Errors
  2584.  
  2585.  
  2586.       If you running this application under the multi-user mode, you may be
  2587.       presented with two different type of error messages.  Both types have
  2588.       to do with file locking.
  2589.  
  2590.       For example, you may be updating a database record.  In the meantime,
  2591.       however, somebody else may have already updated that record.  When
  2592.       your update is complete, you will receive the message:
  2593.  
  2594.            Current record has been altered
  2595.  
  2596.       In that case, review the updated record and try the update again.
  2597.  
  2598.       Another kind of message occurs while you are performing some kind of
  2599.       transaction processing.  If you need a record that somebody else has
  2600.       locked out, you will receive the message:
  2601.  
  2602.            Waiting for access, press [ESC] to abort
  2603.  
  2604.       In this case, just wait.  Most of the time, the record you need will
  2605.       be quickly released.
  2606.  
  2607.  
  2608.                                   Syntax Error
  2609.  
  2610.  
  2611.       The last kind of problem is a syntax error.  You shouldn't ever see
  2612.       one.  In case you do, however, you will be prompted:
  2613.  
  2614.            [I]gnore, [R]etry, [S]uspend, or [Q]uit to Main Menu.
  2615.  
  2616.       Unless you're a system administrator, your best bet is to press [Q]
  2617.       to Quit to Main menu.  Pressing [Q] will automatically log the error
  2618.       into the Foxpro error file (FOXERR.DBF).
  2619.  
  2620.       Don't forget to tell your system administrator about the error.  As
  2621.       the author, I'll want a copy of your FOXERR.* files to determine the
  2622.       type of error that occurred and to possibly correct it.
  2623.  
  2624.       Note:  If the Foxpro error file logs over 100 errors, it will remind
  2625.       you upon application start-up.  Then, only a system administrator can
  2626.       purge the error file.
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.                                      - Page 40 -
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.                                      Appendix D
  2646.  
  2647.  
  2648.       To use this Foxpro application, each user needs a resource directory.
  2649.       A resource directory contains all the files needed to configure this
  2650.       application.  On a single-user system, or a network with a local hard
  2651.       drive, the resource directory will usually be the Foxpro runtime unit
  2652.       directory.
  2653.  
  2654.       This appendix will first explain the Foxpro runtime unit.  What's in
  2655.       it and how Foxpro determines the resource directory.  From there,
  2656.       this appendix will explain the resource directory.  What files are in
  2657.       this directory and how to configure them for this application.
  2658.  
  2659.  
  2660.                                Foxpro Runtime Unit
  2661.  
  2662.  
  2663.       The Foxpro runtime unit contain all the files necessary to run this
  2664.       application.  Since many Foxpro applications require the same runtime
  2665.       unit, these files are usually stored in their own directory
  2666.       (typically C:\FOXRUN).  On a network, the Foxpro runtime unit should
  2667.       be installed on each user's local hard drive.  It could, however, be
  2668.       shared among users with no local hard drive.
  2669.  
  2670.       The runtime unit consists of *.ESL files, *.ESO files, FOXSWAP.COM,
  2671.       and FOXR.EXE.
  2672.  
  2673.       Foxpro for DOS runtime comes with two versions.  The standard
  2674.       (FOXD*.ES?) and the extended (FOXDX*.ES?).  The standard version is
  2675.       for machines with only expanded (EMS) memory or less than three
  2676.       megabytes of extended memory.  The extended version is for machines
  2677.       with three or more megabytes of extended memory.
  2678.  
  2679.       Note:  FOXSWAP.COM is used only with the standard version to invoke
  2680.       large DOS applications.
  2681.  
  2682.  
  2683.                                     FOXR.EXE
  2684.  
  2685.  
  2686.       FOXR.EXE is the Foxpro for DOS startup module.  It allows Foxpro to
  2687.       launch an application.  FOXR.EXE also determines where the user
  2688.       resource directory is located.  Example:
  2689.  
  2690.            C:\FOXRUN\FOXR.EXE -cC:\FOXRUN\CONFIG.FP -m2612 shl
  2691.  
  2692.       In this example, FOXR.EXE was called from the runtime unit directory.
  2693.       It executed the application startup module SHL.FXP.  The -c option
  2694.       defined C:\FOXRUN\CONFIG.FP as the Foxpro configuration file.  It is
  2695.       the configuration file that determines the user's resource directory.
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.                                      - Page 41 -
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.                                      Appendix D
  2712.  
  2713.  
  2714.       FOXR.EXE also determines which version of Foxpro, standard or
  2715.       extended, to run.  Normally, it takes three megabytes of extended
  2716.       memory to invoke the extended version.
  2717.  
  2718.       In the last example, however, the -m option was used to reduce the
  2719.       amount of extended memory required to invoke the extended version.
  2720.       In this case, only 2.6 megabytes was needed.
  2721.  
  2722.  
  2723.                                     FOXRW.EXE
  2724.  
  2725.  
  2726.       FOXRW.EXE is the Foxpro for Windows version of FOXR.EXE.  It allows
  2727.       the Foxpro for Windows runtime (FOXW*.ES?) to launch an application.
  2728.       The same rules and parameters of FOXR.EXE apply to FOXRW.EXE.
  2729.  
  2730.       Before continuing, it should be noted.  All the files in the runtime
  2731.       unit are self contained.  You need not add a C:\FOXRUN or a
  2732.       C:\FOXRUNW to your DOS PATH statement.
  2733.  
  2734.  
  2735.                                     CONFIG.FP
  2736.  
  2737.  
  2738.       As stated earlier, the CONFIG.FP file (CONFIG.FPW in Foxpro for
  2739.       windows) determines the user's resource directory.  It can also be
  2740.       used to optimize Foxpro.  The following is the basic CONFIG.FP file
  2741.       layout:
  2742.  
  2743.                 _FOXDOC   = ''
  2744.                 _FOXGRAPH = ''
  2745.                 _GENGRAPH = ''
  2746.                 BELL = OFF
  2747.                 DEVELOPMENT = OFF
  2748.                 FILES = 45
  2749.                 INDEX = NDX
  2750.                 MVARSIZE = 20
  2751.                 MVCOUNT = 512
  2752.                 RESOURCE = C:\FOXRUN
  2753.                 RESOURCE = ON
  2754.                 SAFETY = OFF
  2755.                 STATUS = OFF
  2756.                 TALK = OFF
  2757.  
  2758.       The following section will describe the most important commands in
  2759.       the CONFIG.FP.
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769.                                      - Page 42 -
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.  
  2777.                                      Appendix D
  2778.  
  2779.  
  2780.                                        EMS
  2781.  
  2782.  
  2783.       The standard version of Foxpro requires expanded memory.  You need at
  2784.       least three megabytes of extended memory to run the extended version
  2785.       of Foxpro.  If you only have expanded memory, add the following
  2786.       command to CONFIG.FP:
  2787.  
  2788.                 EMS = ON
  2789.  
  2790.       If your expanded memory doesn't work with Foxpro, it probably doesn't
  2791.       conform to the LIM 4.0 specification for EMS.  In that case, replace
  2792.       the EMS on command with the following:
  2793.  
  2794.                 EMS64 = OFF
  2795.                 EMS = ON
  2796.  
  2797.       These commands allow Foxpro to use EMS memory, but only for file I/O.
  2798.  
  2799.  
  2800.                                     MEMLIMIT
  2801.  
  2802.  
  2803.       If you are unable to run Foxpro for windows, due to insufficient
  2804.       memory, add a MEMLIMIT statement to your CONFIG.FPW file.  The syntax
  2805.       for this statement is MEMLIMIT=%,min,max where % is a calculated
  2806.       amount based on available memory and min and max represent actual
  2807.       minimum and maximum allocations.
  2808.  
  2809.       For example, specifying MEMLIMIT=80,1024,4096 allocates 80 percent of
  2810.       your system's available memory to Foxpro with a minimum allocation of
  2811.       1024K and a maximum of 4096K.
  2812.  
  2813.  
  2814.                                     PROGWORK
  2815.  
  2816.  
  2817.       If you have at least a 450 kilobyte ramdisk, you can add the
  2818.       following command:
  2819.  
  2820.                 PROGWORK = G:\
  2821.  
  2822.       This command will place program cache on drive G.  There are similar
  2823.       commands you can use to further optimize Foxpro.  If you are
  2824.       interested, refer to the Foxpro user guide.
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.                                      - Page 43 -
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.                                      Appendix D
  2844.  
  2845.  
  2846.                                     RESOURCE
  2847.  
  2848.  
  2849.       This command defines the user resource directory.  For single users,
  2850.       or network users with local hard drives, the resource directory would
  2851.       also be the runtime unit directory.  Example:
  2852.  
  2853.                 C:\FOXRUN\FOXR.EXE -CC:\FOXRUN\CONFIG.FP SHL
  2854.  
  2855.       Where C:\FOXRUN is the local copy of the runtime unit and the
  2856.       CONFIG.FP file.  SHL would be, of course, the startup procedure to
  2857.       our application.  The CONFIG.FP file would contain the commands:
  2858.  
  2859.                 RESOURCE = C:\FOXRUN
  2860.                 RESOURCE = ON
  2861.  
  2862.  
  2863.       In the case of a network with no local hard drive, a work station
  2864.       would be invoked as:
  2865.  
  2866.                 K:\FOXRUN\FOXR.EXE -CK:\USER1\CONFIG.FP SHL
  2867.  
  2868.       Where K:\FOXRUN contains the shared copy of the runtime unit and
  2869.       K:\USER1 contains the CONFIG.FP.  The CONFIG.FP would contain:
  2870.  
  2871.                 RESOURCE = K:\USER1
  2872.                 RESOURCE = ON
  2873.  
  2874.       Where K:\FOXRUN is defined as the user resource directory.
  2875.  
  2876.       Note:  If a runtime unit is to be shared, all *.ESL, *.ESO, FOXR.EXE
  2877.       and/or FOXRW.EXE must be marked as read-only.  The normal
  2878.       installation, however, should have already done this.
  2879.  
  2880.  
  2881.                                       TIME
  2882.  
  2883.  
  2884.       Establishes the amount of time that Foxpro waits for the print device
  2885.       to accept a character.  If the printer is not ready, this value
  2886.       dictates the number of retries that Foxpro will make to the print
  2887.       device.  If the retry count is exhausted, Foxpro issues the error
  2888.       "Printer not ready. Retry? (Y/N)".  The value of TIME may range from
  2889.       1 to 1,000,000 retries.  The default is 6,000.
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.                                      - Page 44 -
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.                                      Appendix D
  2910.  
  2911.  
  2912.                                    FOXPRO.INI
  2913.  
  2914.  
  2915.       Another resource directory file is FOXPRO.INI.  In the past, this
  2916.       Foxpro application was configured using DOS environment variables.
  2917.       For example, the DOS command SET MULT=YES would set this application
  2918.       into multi-user mode.
  2919.  
  2920.       While DOS environment variables are still accepted, the preferred way
  2921.       is to add commands to a [GetEnv] section of the FOXPRO.INI file.  The
  2922.       following is a basic FOXPRO.INI file layout:
  2923.  
  2924.  
  2925.            [FoxPro]
  2926.            Zoomed=0
  2927.            Row=0
  2928.            Column=0
  2929.            Height=402
  2930.            Width=648
  2931.            FontName=FOXFONT
  2932.            FontStyle=0
  2933.            FontSize=9
  2934.            
  2935.            [GetEnv]
  2936.            FontName=FoxFont
  2937.            FontStyle=N
  2938.            FontSize=9
  2939.            Mult=yes
  2940.            Recall=yes
  2941.  
  2942.  
  2943.       Note:  The [Foxpro] section is used only by Foxpro for Windows and
  2944.       then, only from the FOXPRO.INI stored in the windows directory.
  2945.  
  2946.       The following is a list of FOXPRO.INI [GetEnv] commands:
  2947.  
  2948.  
  2949.                                       DATA
  2950.  
  2951.  
  2952.       All application data files are assumed in the current directory
  2953.       unless the command DATA is specified.  Example:
  2954.  
  2955.                 DATA=C:\DATA\
  2956.  
  2957.       Note: Data files include *.DBF, *.CDX, and *.FPT.  Q*.* are
  2958.       expression builder files (see Record Filters).  SCR.* are data
  2959.       dictionary files and belong in the program directory (see PROG).
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.                                      - Page 45 -
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.                                      Appendix D
  2976.  
  2977.  
  2978.                                     FONTNAME
  2979.  
  2980.  
  2981.       In Foxpro for Windows, pressing [Alt]-[V] allows the user to change
  2982.       fonts.  When a font is changed at a particular menu, all sub-menus
  2983.       will use that font.  If the font is changed at the main menu, the new
  2984.       font is stored in the [GetEnv] section of FOXPRO.INI.  When the
  2985.       application is restarted, the new font will then be used.
  2986.  
  2987.       The following command will define the name of the font:
  2988.  
  2989.                 FONTNAME=FOXFONT
  2990.  
  2991.       ...where Foxfont is the name of the font.
  2992.  
  2993.  
  2994.                                     FONTSIZE
  2995.  
  2996.  
  2997.       In Foxpro for Windows, the following command will define the startup
  2998.       font size:
  2999.  
  3000.                 FONTSIZE=9
  3001.  
  3002.       ..where '9' is 9 point.
  3003.  
  3004.  
  3005.                                     FONTSTYLE
  3006.  
  3007.  
  3008.       In Foxpro for Windows, the following command will define the style of
  3009.       the startup font:
  3010.  
  3011.                 FONTSTYLE=N
  3012.  
  3013.       ..where 'N' is normal, 'I' defines italic, and 'B' for bold.  See the
  3014.       Foxpro command DEFINE WINDOW for a list of possible styles.
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.                                      - Page 46 -
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041.                                      Appendix D
  3042.  
  3043.  
  3044.                                       INIT
  3045.  
  3046.  
  3047.       The INIT command allows the user to perform system administration
  3048.       functions.  These functions provide a measure of system control and
  3049.       are not needed for day to day activities.
  3050.  
  3051.       To invoke this system administration function, add the following
  3052.       command to the [GetEnv] section of your FOXPRO.INI file:
  3053.  
  3054.                 INIT=YES
  3055.  
  3056.       When you run application again, you will notice new options.  If you
  3057.       are running on a network, an option M will appear on the main menu.
  3058.       Option 'M' allows you to toggle between Multi-user and single-user
  3059.       modes.  Some system administration functions can only be provided in
  3060.       single-user mode.
  3061.  
  3062.       In addition, an option B will appear in the utility menu.  This
  3063.       option allows you the purged out entire database files.
  3064.  
  3065.  
  3066.                                       LAST
  3067.  
  3068.  
  3069.       This application normally resets all browse sessions.  The browse
  3070.       layout, however, can be saved by adding the following command to your
  3071.       [GetEnv] section of the FOXPRO.INI file:
  3072.  
  3073.                 LAST=YES
  3074.  
  3075.       With this command, fields may be moved around or resized.  Partitions
  3076.       may be split or separated.  All these preferences will be saved and
  3077.       will be in effect the next time you perform the browse.
  3078.  
  3079.  
  3080.                                       MULT
  3081.  
  3082.  
  3083.       This application normally comes up in single user mode.  To make it
  3084.       wake up in Multi-user mode, add the following command to your
  3085.       [GetEnv] section of the FOXPRO.INI file:
  3086.  
  3087.                 MULT=YES
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.                                      - Page 47 -
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.                                      Appendix D
  3108.  
  3109.  
  3110.                                       PROG
  3111.  
  3112.  
  3113.       All application program files and all data dictionary files are
  3114.       assumed in the current directory unless the FOXPRO.INI command PROG
  3115.       is specified.  Example:
  3116.  
  3117.                 PROG=D:\PROG\
  3118.  
  3119.       Note: Program files include *.PRG, *.FXP, and SCR.*.
  3120.  
  3121.  
  3122.                                      RECALL
  3123.  
  3124.  
  3125.       The application normally reuses deleted records.  That is, deleted
  3126.       records are blanked out to be reused the next time you add a record.
  3127.       You can recall deleted records with the following FOXPRO.INI command:
  3128.  
  3129.                 RECALL=YES
  3130.  
  3131.       When recall is in effect, deleted records are not blanked out.  You
  3132.       will be provided with an extra recall option on all editors.  Like
  3133.       the find option, recall prompts the user for a record.  If the
  3134.       deleted record is found, it becomes active again.
  3135.  
  3136.       Note:  If the current database has a deleted() index, deleted records
  3137.       are NEVER blanked out.  When recall is in effect, you will be
  3138.       presented with a browse of all deleted records.  Select the desired
  3139.       record and press [Enter].
  3140.  
  3141.  
  3142.                                      SYSMENU
  3143.  
  3144.  
  3145.       In Foxpro for DOS, the system menu is normally hidden.  You must
  3146.       press the [Alt] key to wake it up.  You can have the system menu
  3147.       always displayed with the following FOXPRO.INI command:
  3148.  
  3149.                 SYSMENU=SHOW
  3150.  
  3151.  
  3152.       In Foxpro for Windows, the system menu is normally displayed.  You
  3153.       can have the system menu hidden with the following FOXPRO.INI
  3154.       command:
  3155.  
  3156.                 SYSMENU=HIDDEN
  3157.  
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.  
  3164.  
  3165.                                      - Page 48 -
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.                                      Appendix D
  3174.  
  3175.  
  3176.                                       TEMP
  3177.  
  3178.  
  3179.       All temporary files are assumed in the current directory unless the
  3180.       FOXPRO.INI command TEMP is specified.  Example:
  3181.  
  3182.                 TEMP=C:\TEMP
  3183.  
  3184.       If you have a large enough ramdisk, setting TEMP to the ramdisk
  3185.       should improve performance.
  3186.  
  3187.       Note:  DOS environment variables take precedent over [GetEnv]
  3188.       commands.  That is, a DOS environment variable TEMP is used before a
  3189.       [GetEnv] command TEMP.
  3190.  
  3191.  
  3192.                                       TERM
  3193.  
  3194.  
  3195.       In the very near future, Foxpro will be available for many different
  3196.       systems.  To remain compatible, the FOXPRO.INI command TERM was
  3197.       created.  If TERM does not exist, or if TERM is equal to ANSI, then
  3198.       the system is considered 100% ANSI compatible.  That is, function
  3199.       keys [F1]-[F10] exist, [Esc] exists, and the ability to use a mouse
  3200.       exists.  Example:
  3201.  
  3202.                 TERM=ANSI
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.                                      - Page 49 -
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.                                      Appendix D
  3240.  
  3241.  
  3242.       The file CONFIG.FP stores commands to configure Foxpro.  The [GetEnv]
  3243.       section of the file FOXPRO.INI stores commands to configure this
  3244.       application.  Other resource directory files include FOXUSER.*, *.MEM
  3245.       files, and Q*.* files.  The following describe each of these files:
  3246.  
  3247.  
  3248.                                    FOXUSER.DBF
  3249.  
  3250.  
  3251.       The Foxpro resource file (FOXUSER.DBF) stores all the attributes of
  3252.       the user.  What color sets the user desires and how to display browse
  3253.       windows.  It also stores certain preferences required by this
  3254.       application.  For instance, all files with a "TMP" extension should
  3255.       have word wrap enabled and backup disabled.  All files with a "TXT"
  3256.       extension should have word wrap disabled and backup disabled.
  3257.  
  3258.       The Foxpro resource file stores all the color sets available to
  3259.       Foxpro.  If you wish to improve the appearance of your menus, make
  3260.       sure "enabled opt." in your user menu (color set 2) is set to the
  3261.       same color as your "@ SAY".
  3262.  
  3263.       Note:  Foxpro for DOS uses the default color set "DEFAULT".  Foxpro
  3264.       for windows use the default color set "FOXDEF".
  3265.  
  3266.  
  3267.                                   FOXUSER2.DBF
  3268.  
  3269.  
  3270.       The second Foxpro resource file (FOXUSER2.DBF) has the same file
  3271.       structure as the Foxpro resource file (FOXUSER.DBF).  Unlike
  3272.       FOXUSER.DBF, however, color sets stored in the memo field 'DATA' are
  3273.       in ASCII text.
  3274.  
  3275.       The text layout is simple.  Twelve lines for the twelve color schemes
  3276.       used by this application.  Each line contain ten color pairs.  A
  3277.       color pair "W*/B+", for example, would denote a white foreground,
  3278.       blue background ("*" denotes blinking and "+" denotes intensity).
  3279.       For a description of color pairs used within a scheme, check the
  3280.       color picker portion of the Foxpro manual.
  3281.  
  3282.       Note:  As long as the field 'UPDATED' has a more recent date, the
  3283.       color set from FOXUSER2.DBF will override the color set found in
  3284.       FOXUSER.DBF.
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.                                      - Page 50 -
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305.                                      Appendix D
  3306.  
  3307.  
  3308.                                   Printer Codes
  3309.  
  3310.  
  3311.       Printer codes are maintained by the system setup menu and are stored
  3312.       in a ???SYS.MEM memory file.  This memory file is stored in user's
  3313.       resource directory.
  3314.  
  3315.       On a network, each user will have his/her own set of printer codes.
  3316.       To retain a common set of printer codes, allow one user to maintain
  3317.       printer codes in the data directory (see DATA).  Then, simply delete
  3318.       ???SYS.MEM files from each user's resource directory.  Each user will
  3319.       get a fresh copy of printer codes, from the data directory, the next
  3320.       time they run the application.
  3321.  
  3322.  
  3323.                                  Record Filters
  3324.  
  3325.  
  3326.       Record filter files belong, and are maintained, by the expression
  3327.       builder.  These include Q*.DBF, Q*.FPT, Q*.CDX.  Record filters are
  3328.       stored in the user's resource directory.
  3329.  
  3330.       On a network, each user will have his/her own set of record filters.
  3331.       To retain a common set of record filters, allow one user to maintain
  3332.       record filters in the data directory (see DATA).  Then, simply delete
  3333.       all Q*.* files from each user's resource directory.  Each user will
  3334.       get a fresh copy of record filters, from the data directory, the next
  3335.       time they run the expression builder.
  3336.  
  3337.  
  3338.                               Configuring Sideways
  3339.  
  3340.  
  3341.       If you are using the sideways utility from Funk software, there are a
  3342.       couple of steps necessary configure it.  First, you can select the
  3343.       desired printer by running SWSETUP.COM.  This utility will modify
  3344.       SIDEWAYS.COM.  After selecting the desired printer, copy SIDEWAYS.COM
  3345.       to the user's resource directory.
  3346.  
  3347.       Note:  If you ever want to know where your resource directory is
  3348.       located, select the option "all about.." in the system setup menu.
  3349.  
  3350.       If you need to modify the font proportions, go into your resource
  3351.       directory and run SIDEWAYS.COM (no parameters).  A screen will
  3352.       appear, displaying all the current setup values.  Adjust these values
  3353.       and press [F9] to create the default file, SIDEWAYS.DFT.
  3354.  
  3355.       Note:  If you change your resource directory, create a new
  3356.       SIDEWAYS.DFT.  Among other things, this file contains it's own
  3357.       location.  Moving an DFT file can result in a "file not found" error
  3358.       message.
  3359.  
  3360.  
  3361.  
  3362.  
  3363.                                      - Page 51 -
  3364.  
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.  
  3371.                                       GLOSSARY
  3372.  
  3373.  
  3374.       ANSI  -  American National Standards Institute.  A standard for both
  3375.            screen output and keyboard input.
  3376.  
  3377.       Arrow Keys  -  Equivalent to cursor keys.  Those keys on the keyboard
  3378.            labeled with arrows.
  3379.  
  3380.       ASCII  -  American Standard Code for Information Interchange.  A
  3381.            standard 7 bit code used to represent data.
  3382.  
  3383.       Batch File  -  A file containing multiple DOS commands.  These
  3384.            commands are executed by DOS, one at a time, as if typed by the
  3385.            user.
  3386.  
  3387.       Byte  -  A unit of information.  In text form, equivalent to an ASCII
  3388.            character.
  3389.  
  3390.       Code  -  Program code.  Another way of saying program instructions.
  3391.  
  3392.       Compiler  -  A program that converts program code from one form to
  3393.            another, usually more primitive, form.  The converted code is
  3394.            then ready for execution.
  3395.  
  3396.       CONFIG.FP  -  The Foxpro configuration file.  This file tells Foxpro
  3397.            where is find the resource file.  On a network, there is a one
  3398.            copy for each Foxpro user.
  3399.  
  3400.       CONFIG.FPM  -  The Foxpro for Macintosh configuration file.
  3401.  
  3402.       CONFIG.FPW  -  The Foxpro for windows configuration file.
  3403.  
  3404.       Cursor  -  A flashing character on the screen.  It indicates where
  3405.            typed text will be next placed.
  3406.  
  3407.       Cursor Keys  -  Equivalent to arrow keys.  Those keys on the keyboard
  3408.            labeled with arrows.
  3409.  
  3410.       Data Dictionary  -  A database file that defines the input/output to
  3411.            database files in an application.
  3412.  
  3413.       dBASE  -  Popular database management language.  The software package
  3414.            dBASE III+ is an interpreter for dBASE code.
  3415.  
  3416.       Disk  -  A unit where information is stored.  There are two major
  3417.            types: hard disk, and floppy disk.
  3418.  
  3419.       Disk Error  -  An error occurring when a program is unable to read or
  3420.            write properly to a disk.
  3421.  
  3422.       Diskspace  -  A unit of how much room is available on a drive.  It is
  3423.            usually measured in bytes.
  3424.  
  3425.       DOS  -  Disk Operating System.
  3426.  
  3427.  
  3428.  
  3429.                                      - Page 52 -
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.                                       GLOSSARY
  3438.  
  3439.  
  3440.       EMS  -  Refers to expanded memory.  Most 80286 computers have
  3441.            expanded memory.  80386 computers have extended memory.  There
  3442.            are, however, 80386 software drivers (QEMM for example), that
  3443.            can offer either extended or expanded memory.
  3444.  
  3445.       Extended  -  Extended memory.  80386 (or better) computers have
  3446.            extended memory.  The extended version of Foxpro needs at least
  3447.            three megabytes of extended memory.  The standard version of
  3448.            Foxpro requires expanded memory.
  3449.  
  3450.       Filespec  -  any DOS filename.ext including catalog names, passwords,
  3451.            etc.
  3452.  
  3453.       Floppy Disk  -  A self contained unit where information is stored.
  3454.            Depending on the type, floppy disks are easily transportable.
  3455.            Sometimes called a diskette.
  3456.  
  3457.       Foxbase  -   A dBASE III plus compatible language.
  3458.  
  3459.       Foxpro  -   A dBASE IV compatible language.
  3460.  
  3461.       FOXERR.DBF  -  The Foxpro error file.  Every major error event is
  3462.            recorded in this file.
  3463.  
  3464.       FOXUSER.DBF  -  The Foxpro resource file.  This file stores all the
  3465.            attributes of the user.  It also stores all the color sets
  3466.            available to Foxpro.  On a network, there is a one copy for each
  3467.            Foxpro user.
  3468.  
  3469.       Hard Disk  -  A self contained unit where information is stored.
  3470.            Usually not removable.
  3471.  
  3472.       HELP  -  A facility that provides on-line assistance in the use of a
  3473.            given program.
  3474.  
  3475.       Highlight  -  A form of a cursor, where an entire field is considered
  3476.            the cursor.
  3477.  
  3478.       Interpreter  -  A program that executes language code.  Whereas a
  3479.            compiler translates program code to executable code, an
  3480.            interpreter translates a single line of program code before
  3481.            executing it.
  3482.  
  3483.       Kilobyte  -  One kilobyte of memory equals 1,024 bytes.
  3484.  
  3485.       Megabyte  -  One megabyte of memory equals 1,024,000 bytes.
  3486.  
  3487.       Multi-user  -  When more one than one person is capable of
  3488.            accessing/updating the same database at the same time.
  3489.  
  3490.       MS-DOS  -  Microsoft Disk Operating System.
  3491.  
  3492.       Sideways  -  A DOS Utility that will print text up and down instead
  3493.            of across the paper.
  3494.  
  3495.                                      - Page 53 -
  3496.  
  3497.  
  3498.  
  3499.  
  3500.  
  3501.  
  3502.  
  3503.                                       GLOSSARY
  3504.  
  3505.  
  3506.  
  3507.       Source Code  -  What a translator/compiler takes in as input.
  3508.  
  3509.       Syntax  -  The rules for the arrangement of statements in a
  3510.            programming language
  3511.  
  3512.  
  3513.  
  3514.  
  3515.  
  3516.  
  3517.  
  3518.  
  3519.  
  3520.  
  3521.  
  3522.  
  3523.  
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.  
  3535.  
  3536.  
  3537.  
  3538.  
  3539.  
  3540.  
  3541.  
  3542.  
  3543.  
  3544.  
  3545.  
  3546.  
  3547.  
  3548.  
  3549.  
  3550.  
  3551.  
  3552.  
  3553.  
  3554.  
  3555.  
  3556.  
  3557.  
  3558.  
  3559.  
  3560.  
  3561.                                      - Page 54 -
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.  
  3568.  
  3569.                                         Index
  3570.  
  3571.  
  3572.       *.ESL  41                            Creating a User Password Record
  3573.       *.ESO  41                                14
  3574.       .BAT  37                             Creating Sample Records  9
  3575.       .CDX  37                             Cursor  29, 52
  3576.       .DBF  37                             Cursor Keys  52
  3577.       .FPT  37                             Customizing Color Sets  22
  3578.       .FXP  37                             DATA  45
  3579.       .PRG  37                             Data dictionary  37, 48, 52
  3580.       [Alt]-[F4]  35                       DBASE  52
  3581.       [Alt]-[F5]  35                       DBASE IV  1, 5
  3582.       [Alt]-[V]  36                        Delete Function  11, 31
  3583.       [Ctrl]-[F4]  35                      Disk  52
  3584.       [Ctrl]-[F5]  36                      Disk Error  52
  3585.       [Ctrl]-[Home]  30                    Disk Space  39
  3586.       [Ctrl]-[J]  31                       Diskspace  52
  3587.       [Ctrl]-[N]  31                       Display/Print Manual  24
  3588.       [Ctrl]-[T]  31                       DOS  5, 52
  3589.       [Ctrl]-[Y]  31                       Draft mode  21
  3590.       [End]  29                            Edit User Password  11
  3591.       [Esc]  30                            Editor  5
  3592.       [F1]  29                             EMS  41, 43, 53
  3593.       [F10]  31                            Expanded  43
  3594.       [F4]  35                             Expression builder  5, 18
  3595.       [F5]  36                             Extended  1, 43, 53
  3596.       [F7]  36                             Filespec  53
  3597.       [Home]  29                           Filter  18
  3598.       [Shift]-[TAB]  30                    Find Function  11, 31
  3599.       [TAB]  30                            Floppy Disk  53
  3600.       Add Function  10, 29                 FONTNAME  46
  3601.       All About...  23                     FONTSIZE  46
  3602.       ANSI  49, 52                         FONTSTYLE  46
  3603.       Appendix A  28                       Foxbase  53
  3604.       Appendix A-1  35                     FOXERR.DBF  22, 37, 40, 53
  3605.       Appendix B  37                       Foxpro  1, 5, 53
  3606.       Appendix C  39                       Foxpro Calculator  35
  3607.       Appendix D  41                       Foxpro Calendar  35
  3608.       Arrow Keys  52                       Foxpro DOS Shell  36
  3609.       ASCII  52                            Foxpro for DOS  36
  3610.       BACK  38                             Foxpro for windows  36, 43, 45,
  3611.       Backup/Restore Data Files  38            46
  3612.       Batch File  52                       Foxpro runtime unit  7, 41
  3613.       Browse Function  11, 30              Foxpro runtime unit directory
  3614.       Byte  52                                 41
  3615.       Change Color Set  22                 FOXPRO.INI  45
  3616.       Code  52                             FOXR.EXE  41
  3617.       Compiler  52                         FOXRUN  41
  3618.       CONFIG.FP  41, 42, 52                FOXRW.EXE  42
  3619.       CONFIG.FPM  52                       FOXSWAP.COM  41
  3620.       CONFIG.FPW  42, 43, 52               FOXUSER.DBF  22, 37, 50, 53
  3621.       Configuring Sideways  51             FOXUSER2.DBF  22, 50
  3622.       Copyright/License/Warranty  2        GLOSSARY  52
  3623.       Creating a Foxpro Shell Record       Goto Function  11, 32
  3624.           10                               Hard Disk  53
  3625.       Creating a Shell Record  13          HELP  53
  3626.  
  3627.                                      - Page 55 -
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.  
  3635.                                         Index
  3636.  
  3637.  
  3638.       Help Function  12, 33                Resource directory  41
  3639.       Highlight  53                        SCR.DBF  37
  3640.       Index  55                            Shell  1, 5
  3641.       INIT  47                             SHELL.DBF  37
  3642.       Initializing Databases  26           SHL  7
  3643.       Interpreter  53                      SHLSYS.MEM  37
  3644.       Introduction  5                      Sideways  21, 53
  3645.       Invoking Shell System  7             SIDEWAYS.COM  51
  3646.       JKEY  31                             SIDEWAYS.DFT  51
  3647.       Kilobyte  53                         Source Code  54
  3648.       Laser Printers  36                   Straight lines per page  21
  3649.       LAST  47                             SWSETUP.COM  51
  3650.       LIM 4.0  43                          Syntax  54
  3651.       Macintosh  6                         Syntax Error  40
  3652.       MANUAL  37                           Sysmenu  35, 48
  3653.       Megabyte  53                         Sysmenu edit  35
  3654.       Megabytes  1                         System administration  47
  3655.       MEMLIMIT  43                         System administrator  22, 36, 39
  3656.       Memo  22, 37                         System Setup  18
  3657.       MODE  39                             TABLE OF CONTENTS  3
  3658.       MS-DOS  1, 53                        TEMP  49
  3659.       MULT  47                             TERM  49
  3660.       Multi-user  20, 53                   TIME  44
  3661.       Multi-User Errors  40                Toggle Index Function  12, 34
  3662.       Network  20, 41, 47                  Toggle Order Function  12, 34
  3663.       Notation Conventions  6              UNBACK  38
  3664.       P_CODES.DBF  20                      Update Function  12, 34
  3665.       Preface  1                           USER.DBF  37
  3666.       Print Foxpro Shell  16               Utilities  25
  3667.       Print Mode  36                       Video Mode  36
  3668.       Printer Codes  21, 37, 51            Wild-carding  31
  3669.       Printer Control Codes  19            Window  5
  3670.       Printer Device  20
  3671.       Printer Eject  36
  3672.       Printer Name  20
  3673.       Printer not Ready  39
  3674.       Printing Shell Records  16
  3675.       Problems & Suggestions  22
  3676.       PROG  48
  3677.       PROGWORK  43
  3678.       Protect mode  13
  3679.       Protected Mode  7, 14, 15
  3680.       Q*.*  37
  3681.       Quit  15, 17, 24
  3682.       Quit Function  12, 34
  3683.       Quit to DOS  27
  3684.       Ramdisk  49
  3685.       Rebuilding Indices  25
  3686.       RECALL  48
  3687.       Recall Function  34
  3688.       Record filter  5, 18
  3689.       Record Filters  51
  3690.       Regular mode  21
  3691.       RESOURCE  44
  3692.  
  3693.                                      - Page 56 -
  3694.  
  3695.  
  3696.  
  3697.